protected void GetCategoriesFromNode(bool isUpdate, bool isOwner,
        Telerik.Web.UI.RadTreeNode TreeNode, DataView dvCat, string ID, string revisionID)
    {
        HttpCookie cookie = Request.Cookies["BrowserDate"];
        Data dat = new Data(DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")));
        string ownerID = "";
        bool isOwnerUpForGrabs = dat.IsOwnerUpForGrabs(ID, ref ownerID, ref isOwner, true);
        if (TreeNode.Checked && TreeNode.Enabled)
        {
            dvCat.RowFilter = "CATEGORY_ID=" + TreeNode.Value;
                //distinctHash.Add(CategoriesCheckBoxes.Items[i], 21);
                //tagHash.Add(CategoriesCheckBoxes.Items[i], "22");

                if (isUpdate)
                {
                    if (isOwner || isOwnerUpForGrabs)
                    {
                        if (dvCat.Count == 0)
                        {
                            dat.Execute("INSERT INTO Venue_Category (VENUE_ID, CATEGORY_ID, tagSize) VALUES("
                                + ID + ", " + TreeNode.Value + ", 22)");
                        }
                    }
                    else
                    {
                        if (dvCat.Count == 0)
                        {
                            dat.Execute("INSERT INTO VenueCategoryRevisions (AddOrRemove, VenueID, CatID, modifierID, RevisionID, DATE) " +
                                "VALUES(1, " + ID + ", " + TreeNode.Value + ", " + Session["User"].ToString() + ", " + revisionID + ", '" + DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")) + "')");
                        }
                        else
                        {
                            //dat.Execute("INSERT INTO VenueCategoryRevisions (AddOrRemove, VenueID, CatID, modifierID, RevisionID) " +
                            //    "VALUES(0, " + ID + ", " + CategoryTree.Nodes[i].Value + ", " + Session["User"].ToString() + ", " + revisionID + ")");
                        }

                    }
                }
                else
                {
                    dat.Execute("INSERT INTO Venue_Category (VENUE_ID, CATEGORY_ID, tagSize) VALUES("
                            + ID + ", " + TreeNode.Value + ", 22)");
                }

            }
            else if (!TreeNode.Checked)
            {
                dvCat.RowFilter = "CATEGORY_ID=" + TreeNode.Value;

                if (isUpdate)
                {
                    if (isOwner || isOwnerUpForGrabs)
                    {
                        if (dvCat.Count == 0)
                        {
                        }
                        else
                        {
                            dat.Execute("DELETE FROM Venue_Category WHERE VENUE_ID=" + ID +
                                " AND CATEGORY_ID = " + TreeNode.Value);

                        }
                    }
                    else
                    {
                        if (dvCat.Count == 0)
                        {
                        }
                        else
                        {
                            if (isOwnerUpForGrabs)
                            {
                                dat.Execute("DELETE FROM Venue_Category WHERE VENUE_ID=" + ID +
                                " AND CATEGORY_ID = " + TreeNode.Value);
                            }
                            else
                            {
                                dat.Execute("INSERT INTO VenueCategoryRevisions (AddOrRemove, VenueID, CatID, modifierID, RevisionID, DATE) " +
                                    "VALUES(0, " + ID + ", " + TreeNode.Value + ", " + Session["User"].ToString() + ", " + revisionID + ", '" + DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")) + "')");

                            }
                        }

                    }
                }
                else
                {
                }
            }

            if (TreeNode.Nodes.Count > 0)
            {
                for (int j = 0; j < TreeNode.Nodes.Count; j++)
                {
                    GetCategoriesFromNode(isUpdate, isOwner, TreeNode.Nodes[j], dvCat, ID, revisionID);
                }
            }
    }
    protected void PostIt(object sender, EventArgs e)
    {
        HttpCookie cookie = Request.Cookies["BrowserDate"];
        if (AgreeCheckBox.Checked)
        {

            Data dat = new Data(DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")));
            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ToString());
            conn.Open();

            bool mediaChanged = false;
            bool contentChanged = false;

            string mediaCat = "0";
            if (PictureCheckList.Items.Count > 0)
                mediaCat = "1";

            bool isUpdate = false;
            bool isOwner = false;

            string ownerID = "";
            DataSet dsVenue = new DataSet();
            bool ownerUpForGrabs = false;

            if (Request.QueryString["ID"] != null)
            {
                dsVenue = dat.GetData("SELECT * FROM Venues WHERE ID=" + Request.QueryString["ID"].ToString());
                isUpdate = true;
                ownerUpForGrabs = dat.IsOwnerUpForGrabs(Request.QueryString["ID"].ToString(), ref ownerID, ref isOwner, true);
            }

            string state = "";
                if (StateDropDownPanel.Visible)
                    state = StateDropDown.SelectedItem.Text;
                else
                    state = StateTextBox.THE_TEXT;

            //We already do this in 'Onwards' method
            //SqlCommand cmd = new SqlCommand("SELECT * FROM Venues WHERE Name=@name AND City=@city AND State=@state ", conn);
            //cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = VenueNameTextBox.THE_TEXT;
            //cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = CityTextBox.Text;
            //cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = state;
            //DataSet ds = new DataSet();
            //SqlDataAdapter da = new SqlDataAdapter(cmd);
            //da.Fill(ds);

            //bool cont = false;

            //if (ds.Tables.Count > 0)
            //    if (ds.Tables[0].Rows.Count > 0 && !isUpdate)
            //    {
            //        MessagePanel.Visible = true;
            //        YourMessagesLabel.Text += "<br/><br/>A venue under this name already exists in this City and State. To edit the details of this particular venue please contact Hippo Happenings " + "<a class=\"AddGreenLink\" href=\"ContactUs.aspx\">here</a>. Otherwise, please modify the name slightly.";
            //    }
            //    else
            //        cont = true;
            //else
            //    cont = true;
                bool cont = true;
            if (cont)
            {
                string command = "";

                if (isUpdate)
                {
                    if (isOwner || ownerUpForGrabs)
                        command = "UPDATE Venues SET Name=@name, Owner=@owner, City=@city, Edit='False', Email=@email, Phone=@phone, State=@state, Country=@country, Zip=@zip, Address=@address, "
                        + " EditedByUser=@user, Content=@content, Web=@web, mediaCategory=" + mediaCat + ", LastEditOn=@dateE WHERE ID=" + Request.QueryString["ID"].ToString();
                    else
                    {
                        command = "INSERT INTO VenueRevisions (Web, modifierID, VenueID, [Content], " +
                         "City, State, Country, Zip, Name, Email, Phone, Address, DATE)"
                         + " VALUES(@web, "+Session["User"].ToString()+"," + Request.QueryString["ID"].ToString() +
                         ", @content, @city, @state, @country, @zip, "+
                         "@name, @email, @phone, @address, '"+DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":"))+"')";

                    }
                }
                else
                    command = "INSERT INTO Venues (Web, Owner, City, State, Country, Zip, Edit, Name, Email, Phone, Address, CreatedByUser,Content, mediaCategory, Rating, PostedOn) "
                     + "VALUES(@web, @owner, @city, @state, @country, @zip, 'False', @name, @email, @phone, @address, @user, @content, " + mediaCat + ", 0, @dateE)";

                string locationStr = "";
                string apt = "";
                if (AptNumberTextBox.Text.Trim() != "")
                    apt = AptDropDown.SelectedItem.Text + " " + AptNumberTextBox.Text.Trim().ToLower();
                if (CountryDropDown.SelectedValue == "223")
                {
                    locationStr = StreetNumberTextBox.Text.Trim().ToLower() + ";" + StreetNameTextBox.Text.Trim().ToLower()
                        + ";" + StreetDropDown.SelectedItem.Text + ";" + apt;
                }
                else
                {
                    locationStr = LocationTextBox.Text.Trim().ToLower() + ";" + apt;
                }

                SqlCommand cmd = new SqlCommand(command, conn);
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.Add("@dateE", SqlDbType.DateTime).Value = DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":"));
                if (isUpdate && !isOwner)
                {
                    if (ownerUpForGrabs)
                    {
                        if (OwnerCheckBox.Checked)
                            cmd.Parameters.Add("@owner", SqlDbType.Int).Value = Session["User"].ToString();
                        else
                        {
                            if (ownerUpForGrabs)
                            {
                                cmd.Parameters.Add("@owner", SqlDbType.Int).Value = DBNull.Value;
                            }
                        }
                    }
                    else
                    {

                    }

                    cmd.Parameters.Add("@user", SqlDbType.Int).Value = Session["User"].ToString();

                    if (dsVenue.Tables[0].Rows[0]["Name"].ToString() != VenueNameTextBox.THE_TEXT.Trim())
                    {
                        cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = VenueNameTextBox.THE_TEXT.Trim();
                        contentChanged = true;
                    }
                    else
                    {
                        if (ownerUpForGrabs)
                        {
                            cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["Name"].ToString();
                        }
                        else
                        {
                            cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = DBNull.Value;
                        }
                    }

                    if (dsVenue.Tables[0].Rows[0]["Email"].ToString() != EmailTextBox.Text.Trim())
                    {
                        if(EmailTextBox.Text.Trim() != "")
                            cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = EmailTextBox.Text.Trim();
                        else
                            cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = DBNull.Value;

                        contentChanged = true;
                    }
                    else
                    {
                        if (ownerUpForGrabs)
                        {
                            cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["Email"].ToString();
                        }
                        else
                        {
                            cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = DBNull.Value;
                        }
                    }

                    if (dsVenue.Tables[0].Rows[0]["Phone"].ToString() != PhoneTextBox.Text.Trim())
                    {
                        if (PhoneTextBox.Text.Trim() != "")
                            cmd.Parameters.Add("@phone", SqlDbType.NVarChar).Value = PhoneTextBox.Text.Trim();
                        else
                            cmd.Parameters.Add("@phone", SqlDbType.NVarChar).Value = DBNull.Value;

                        contentChanged = true;
                    }
                    else
                    {
                        if (ownerUpForGrabs)
                        {
                            cmd.Parameters.Add("@phone", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["Phone"].ToString();
                        }
                        else
                        {
                            cmd.Parameters.Add("@phone", SqlDbType.NVarChar).Value = DBNull.Value;
                        }
                    }

                    if (dsVenue.Tables[0].Rows[0]["Web"].ToString() != WebSiteTextBox.Text.Trim())
                    {
                        if (WebSiteTextBox.Text.Trim() != "")
                            cmd.Parameters.Add("@web", SqlDbType.NVarChar).Value = WebSiteTextBox.Text.Trim();
                        else
                            cmd.Parameters.Add("@web", SqlDbType.NVarChar).Value = DBNull.Value;

                        contentChanged = true;
                    }
                    else
                    {
                        if (ownerUpForGrabs)
                        {
                            cmd.Parameters.Add("@web", SqlDbType.NVarChar).Value =
                                dsVenue.Tables[0].Rows[0]["Web"].ToString();
                        }
                        else
                        {
                            cmd.Parameters.Add("@web", SqlDbType.NVarChar).Value = DBNull.Value;
                        }
                    }

                    if (dsVenue.Tables[0].Rows[0]["Address"].ToString() != locationStr)
                    {
                        cmd.Parameters.Add("@address", SqlDbType.NVarChar).Value = locationStr;
                        contentChanged = true;
                    }
                    else
                    {
                        if (ownerUpForGrabs)
                        {
                            cmd.Parameters.Add("@address", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["Address"].ToString();
                        }
                        else
                        {
                            cmd.Parameters.Add("@address", SqlDbType.NVarChar).Value = DBNull.Value;
                        }
                    }

                    if (dsVenue.Tables[0].Rows[0]["Content"].ToString() != DescriptionTextBox.Content.Trim())
                    {
                        cmd.Parameters.Add("@content", SqlDbType.NVarChar).Value = DescriptionTextBox.Content;
                        contentChanged = true;
                    }
                    else
                    {
                        if (ownerUpForGrabs)
                        {
                            cmd.Parameters.Add("@content", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["Content"].ToString();
                        }
                        else
                        {
                            cmd.Parameters.Add("@content", SqlDbType.NVarChar).Value = DBNull.Value;
                        }
                    }

                    if (dsVenue.Tables[0].Rows[0]["Country"].ToString() != CountryDropDown.SelectedValue)
                    {

                        cmd.Parameters.Add("@country", SqlDbType.Int).Value = int.Parse(CountryDropDown.SelectedValue);
                        contentChanged = true;
                    }
                    else
                    {
                        if (ownerUpForGrabs)
                        {
                            cmd.Parameters.Add("@country", SqlDbType.Int).Value = dsVenue.Tables[0].Rows[0]["Country"].ToString();

                        }
                        else
                        {
                            cmd.Parameters.Add("@country", SqlDbType.Int).Value = DBNull.Value;
                        }
                    }

                    if (dsVenue.Tables[0].Rows[0]["Zip"].ToString() != ZipTextBox.Text.Trim())
                    {

                        cmd.Parameters.Add("@zip", SqlDbType.NVarChar).Value = ZipTextBox.Text.Trim();
                        contentChanged = true;
                    }
                    else
                    {
                        if (ownerUpForGrabs)
                        {
                            cmd.Parameters.Add("@zip", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["Zip"].ToString();
                        }
                        else
                        {
                            cmd.Parameters.Add("@zip", SqlDbType.NVarChar).Value = DBNull.Value;
                        }
                    }

                    if (dsVenue.Tables[0].Rows[0]["City"].ToString() != CityTextBox.Text.Trim())
                    {

                        cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = CityTextBox.Text.Trim();
                        contentChanged = true;
                    }
                    else
                    {
                        if (ownerUpForGrabs)
                        {
                            cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["City"].ToString();
                        }
                        else
                        {
                            cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = DBNull.Value;
                        }
                    }

                    if (dsVenue.Tables[0].Rows[0]["State"].ToString() != state)
                    {
                        cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = state;
                        contentChanged = true;
                    }
                    else
                    {
                        if (ownerUpForGrabs)
                        {
                            cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["State"].ToString();
                        }
                        else
                        {
                            cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = DBNull.Value;
                        }
                    }
                }
                else
                {
                    if (OwnerPanel.Visible)
                    {
                        if(OwnerCheckBox.Checked)
                            cmd.Parameters.Add("@owner", SqlDbType.Int).Value = Session["User"].ToString();
                        else
                            cmd.Parameters.Add("@owner", SqlDbType.Int).Value = DBNull.Value;
                    }
                    else
                    {

                    }

                    cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = VenueNameTextBox.THE_TEXT.Trim();

                    if (EmailTextBox.Text != "")
                        cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = EmailTextBox.Text.Trim();
                    else
                        cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = DBNull.Value;

                    if (PhoneTextBox.Text != "")
                        cmd.Parameters.Add("@phone", SqlDbType.NVarChar).Value = PhoneTextBox.Text.Trim();
                    else
                        cmd.Parameters.Add("@phone", SqlDbType.NVarChar).Value = DBNull.Value;

                    if (WebSiteTextBox.Text != "")
                        cmd.Parameters.Add("@web", SqlDbType.NVarChar).Value = WebSiteTextBox.Text.Trim();
                    else
                        cmd.Parameters.Add("@web", SqlDbType.NVarChar).Value = DBNull.Value;

                    cmd.Parameters.Add("@address", SqlDbType.NVarChar).Value = locationStr;
                    cmd.Parameters.Add("@user", SqlDbType.Int).Value = int.Parse(Session["User"].ToString());
                    cmd.Parameters.Add("@content", SqlDbType.NVarChar).Value = DescriptionTextBox.Content.Trim();
                    cmd.Parameters.Add("@country", SqlDbType.Int).Value = int.Parse(CountryDropDown.SelectedValue);
                    cmd.Parameters.Add("@zip", SqlDbType.NVarChar).Value = ZipTextBox.Text.Trim();
                    cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = CityTextBox.Text.Trim();

                    cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = state;

                }
                cmd.ExecuteNonQuery();

            string ID = "";
            string revisionID = "1";
            if (isUpdate)
            {
                if (!isOwner)
                {
                    ID = Request.QueryString["ID"].ToString();
                    cmd = new SqlCommand("SELECT @@IDENTITY AS IDS", conn);
                    SqlDataAdapter da2 = new SqlDataAdapter(cmd);
                    DataSet ds3 = new DataSet();
                    da2.Fill(ds3);
                    revisionID = ds3.Tables[0].Rows[0]["IDS"].ToString();
                }
                else
                {
                    ID = Request.QueryString["ID"].ToString();
                }
            }
            else
            {

                cmd = new SqlCommand("SELECT @@IDENTITY AS IDS", conn);
                SqlDataAdapter da2 = new SqlDataAdapter(cmd);
                DataSet ds3 = new DataSet();
                da2.Fill(ds3);
                ID = ds3.Tables[0].Rows[0]["IDS"].ToString();
            }

            bool isSlider = false;
                if (PictureCheckList.Items.Count > 0)
                    isSlider = true;
            if (isSlider)
            {

                char[] delim2 = { '\\' };
                //string[] fileArray = System.IO.Directory.GetFiles(MapPath(".") + "\\UserFiles\\" + Session["UserName"].ToString() + "\\Slider\\");

                if (!System.IO.Directory.Exists(MapPath(".") + "\\VenueFiles"))
                {
                    System.IO.Directory.CreateDirectory(MapPath(".") + "\\VenueFiles\\");
                    System.IO.Directory.CreateDirectory(MapPath(".") + "\\VenueFiles\\" + ID+"\\");
                    System.IO.Directory.CreateDirectory(MapPath(".") + "\\VenueFiles\\" + ID + "\\Slider\\");
                }
                else
                {
                    if (!System.IO.Directory.Exists(MapPath(".") + "\\VenueFiles\\" + ID))
                    {
                        System.IO.Directory.CreateDirectory(MapPath(".") + "\\VenueFiles\\" + ID+"\\");
                        System.IO.Directory.CreateDirectory(MapPath(".") + "\\VenueFiles\\" + ID+"\\Slider\\");
                    }
                    else
                    {
                        if (!!System.IO.Directory.Exists(MapPath(".")+"\\VenueFiles\\" + ID+"\\Slider\\"))
                            System.IO.Directory.CreateDirectory(MapPath(".")+"\\VenueFiles\\" + ID+"\\Slider\\");
                    }
                }

                string YouTubeStr = "";
                char[] delim3 = { '.'};
                dat.Execute("DELETE FROM Venue_Slider_Mapping WHERE VenueID=" + ID.ToString());
                for (int i = 0; i < PictureCheckList.Items.Count; i++)
                {
                    //int length = fileArray[i].Split(delim2).Length;
                    string[] tokens = PictureCheckList.Items[i].Value.ToString().Split(delim3);

                        if (tokens.Length >= 2)
                        {
                            //if (PictureCheckList.Items[i].Enabled)
                            //{
                            if (tokens[1].ToUpper() == "JPG" || tokens[1].ToUpper() == "JPEG" || tokens[1].ToUpper() == "GIF" || tokens[1].ToUpper() == "PNG")
                                {
                                    if (!System.IO.File.Exists(MapPath(".") + "\\VenueFiles\\" + ID.ToString() + "\\Slider\\" + PictureCheckList.Items[i].Value))
                                    {
                                        System.IO.File.Copy(MapPath(".") + "\\UserFiles\\" + Session["UserName"].ToString() + "\\Slider\\" +
                                                            PictureCheckList.Items[i].Value,
                                                                MapPath(".") + "\\VenueFiles\\" + ID.ToString() + "\\Slider\\" + PictureCheckList.Items[i].Value);
                                    }

                                    cmd = new SqlCommand("INSERT INTO Venue_Slider_Mapping (VenueID, PictureName, RealPictureName) "+
                                        "VALUES (@eventID, @picName, @realName)", conn);
                                    cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = ID;
                                    cmd.Parameters.Add("@picName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Value;
                                    cmd.Parameters.Add("@realName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Text;
                                    cmd.ExecuteNonQuery();

                                }
                                else if (tokens[1].ToUpper() == "WMV")
                                {
                                    if (!System.IO.File.Exists(MapPath(".") + "\\VenueFiles\\" + ID.ToString() + "\\Slider\\" + PictureCheckList.Items[i].Value))
                                    {
                                        System.IO.File.Copy(MapPath(".") + "\\UserFiles\\" + Session["UserName"].ToString() + "\\Slider\\" +
                                                            PictureCheckList.Items[i].Value,
                                                                MapPath(".") + "\\VenueFiles\\" + ID.ToString() + "\\Slider\\" + PictureCheckList.Items[i].Value);
                                    }

                                    cmd = new SqlCommand("INSERT INTO Venue_Slider_Mapping (VenueID, PictureName) VALUES (@eventID, @picName)", conn);
                                    cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = ID;
                                    cmd.Parameters.Add("@picName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Value;
                                    cmd.ExecuteNonQuery();

                                }
                            //}
                        }
                        else
                        {
                            YouTubeStr += PictureCheckList.Items[i].Value + ";";
                        }

                }

                    dat.Execute("UPDATE Venues SET YouTubeVideo='" + YouTubeStr + "' WHERE ID=" + ID);

            }

                CreateCategories(ID, isOwner, isUpdate, revisionID, ownerUpForGrabs);

                //if (CategoriesCheckBoxes.Items.Count > 0)
                //{
                //    int catCount = CategoriesCheckBoxes.Items.Count;

                //    for (int i = 0; i < catCount; i++)
                //    {
                //        cmd = new SqlCommand("INSERT INTO Event_Category_Mapping (EventID, CategoryID) VALUES (@eventID, @catID)", conn);
                //        cmd.Parameters.Add("@catID", SqlDbType.Int).Value = int.Parse(CategoriesCheckBoxes.Items[i].Value);
                //        cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = ID;
                //        cmd.ExecuteNonQuery();
                //    }
                //}

                //Send the informational email to the user
                DataSet dsUser = dat.GetData("SELECT Email, UserName FROM USERS WHERE User_ID=" +
                    Session["User"].ToString());

                string emailBody = "<br/><br/>Dear " + dsUser.Tables[0].Rows[0]["UserName"].ToString() + ", <br/><br/> you have successfully posted the venue \"" + VenueNameTextBox.THE_TEXT +
                   "\". <br/><br/> You can find this venue <a href=\"http://hippohappenings.com/" + dat.MakeNiceName(VenueNameTextBox.THE_TEXT) + "_" + ID + "_Venue\">here</a>. " +
                   "<br/><br/> To rate your experience posting this venue <a href=\"http://hippohappenings.com/RateExperience.aspx?Edit=" + isUpdate.ToString() + "&Type=V&ID=" + ID + "\">please include your feedback here.</a>" +
                   "<br/><br/><br/>Have a Hippo Happening Day!<br/><br/>";

                    //MessageLiteral.Text = "<script type=\"text/javascript\">alert('" + message + "');</script>";

                     if (isUpdate && !isOwner)
                     {
                         if (!ownerUpForGrabs)
                         {
                             DataSet dsEventUser = dat.GetData("SELECT * FROM Users U WHERE User_ID=" + ownerID);
                             emailBody = "<br/><br/>A change request has been submitted for a venue you are the owner of on HippoHappenings: \"" + VenueNameTextBox.THE_TEXT.Trim() +
                                 "\". <br/><br/> You can find this venue <a href=\"http://hippohappenings.com/" + dat.MakeNiceName(VenueNameTextBox.THE_TEXT) + "_" + ID + "_Venue\">here</a>. " +
                                 "<br/><br/> Please log into Hippo Happenings and check your messages to view and approve these changes.</a>" +
                                 "<br/><br/><br/>Have a Hippo Happening Day!<br/><br/>";

                             //conn.Open();

                             SqlCommand cmd34 = new SqlCommand("INSERT INTO UserMessages (MessageContent, MessageSubject, From_UserID, To_UserID, Date, [Read], Mode, Live, SentLive) VALUES('" +
                                 "VenueID:" + Request.QueryString["ID"].ToString() + ",UserID:" + Session["User"].ToString() + ",RevisionID:" + revisionID + "',@content, "+dat.HIPPOHAPP_USERID.ToString()+", " + ownerID + ", '" + DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")).ToString() + "', 0, 5, 1, 1)", conn);
                             cmd34.Parameters.Add("@content", SqlDbType.NVarChar).Value = "A change request has been submitted for a venue you've created: " +
                                 VenueNameTextBox.THE_TEXT;
                             cmd34.ExecuteNonQuery();
                             conn.Close();
                             if (!Request.Url.AbsoluteUri.Contains("localhost"))
                             {
                                 dat.SendEmail(System.Configuration.ConfigurationManager.AppSettings["emailemail"].ToString(),
                                 System.Configuration.ConfigurationManager.AppSettings["emailName"].ToString(),
                                 dsEventUser.Tables[0].Rows[0]["Email"].ToString(), emailBody, "A change request has been submitted for a venue you own on HippoHappenings: " +
                                 VenueNameTextBox.THE_TEXT);
                             }

                         }
                     }

                     if (isUpdate)
                     {
                         if (isOwner)
                         {
                             //dat.SendEmail(System.Configuration.ConfigurationManager.AppSettings["emailemail"].ToString(),
                             //    System.Configuration.ConfigurationManager.AppSettings["emailName"].ToString(),
                             //    dsUser.Tables[0].Rows[0]["Email"].ToString(), emailBody, "You have updated venue: " +
                             //    VenueNameTextBox.THE_TEXT);
                         }
                         else
                         {
                             if (ownerUpForGrabs)
                             {
                                 emailBody = "<br/><br/>You have successfully submitted updates for venue: \"" + VenueNameTextBox.THE_TEXT.Trim() +
                                 "\". <br/><br/> You can find this venue <a href=\"http://hippohappenings.com/" + dat.MakeNiceName(VenueNameTextBox.THE_TEXT) + "_" + ID + "_Venue\">here</a>. " +
                                 "<br/><br/> To rate your experience posting this venue <a href=\"http://hippohappenings.com/RateExperience.aspx?Edit=" +
                                 isUpdate.ToString() + "&Type=V&ID=" + ID + "\">please include your feedback here.</a><br/><br/>"+
                                 "Have a Hippo Happening Day!<br/><br/>";
                             }
                             else
                             {
                                 emailBody = "<br/><br/>You have successfully submitted updates for venue: \"" + VenueNameTextBox.THE_TEXT.Trim() +
                                 "\". <br/><br/> You can find this venue <a href=\"http://hippohappenings.com/" + dat.MakeNiceName(VenueNameTextBox.THE_TEXT) + "_" + ID + "_Venue\">here</a>. " +
                                 "<br/><br/> The owner of the venue will need to approve/reject your change suggestions. If you do not hear back " +
                                 "from the venue's owner within 7 days, you will be allowed to take over ownership of this venue and automatically submit changes. That is, if no one else beats you to it! " +
                                 "If you have chosen to take over ownership, a button will be available for you on the venue's page. If you have not, you will need to edit the venue's details again." +
                                 "<br/><br/><br/>Have a Hippo Happening Day!<br/><br/>";
                             }

                             if (!Request.Url.AbsoluteUri.Contains("localhost"))
                             {
                                 dat.SendEmail(System.Configuration.ConfigurationManager.AppSettings["emailemail"].ToString(),
                                     System.Configuration.ConfigurationManager.AppSettings["emailName"].ToString(),
                                     dsUser.Tables[0].Rows[0]["Email"].ToString(), emailBody, "You have submitted updates for venue: " +
                                     VenueNameTextBox.THE_TEXT);
                             }
                         }
                     }
                     else
                     {
                         if (!Request.Url.AbsoluteUri.Contains("localhost"))
                         {
                             dat.SendEmail(System.Configuration.ConfigurationManager.AppSettings["emailemail"].ToString(),
                                 System.Configuration.ConfigurationManager.AppSettings["emailName"].ToString(),
                                 dsUser.Tables[0].Rows[0]["Email"].ToString(), emailBody, "You have posted the venue: " +
                                 VenueNameTextBox.THE_TEXT);
                         }
                     }

                conn.Close();

                //Update ownership history if neccessary
                if (isUpdate)
                {
                    if (OwnerPanel.Visible)
                    {
                        if (isOwner)
                        {
                            if (!OwnerCheckBox.Checked)
                            {
                                string OwnerHistoryID = dat.GetData("SELECT * FROM VenueOwnerHistory WHERE VenueID="+
                                    Request.QueryString["ID"].ToString()+" AND OwnerID="+Session["User"].ToString()+
                                    " ORDER BY DateCreatedOwnership DESC").Tables[0].Rows[0]["ID"].ToString();

                                dat.Execute("UPDATE VenueOwnerHistory SET DateLostOwnership='"+DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")).ToString()+
                                    "', GaveUpOwnership='True' WHERE ID="+OwnerHistoryID);
                            }
                        }
                        else
                        {
                            if (OwnerCheckBox.Checked)
                            {
                                dat.Execute("INSERT INTO VenueOwnerHistory (VenueID, OwnerID, DateCreatedOwnership) "+
                                    "VALUES("+Request.QueryString["ID"].ToString()+", "+Session["User"].ToString()+
                                    ", '"+DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")).ToString()+"')");
                            }

                        }
                    }
                }
                else
                {
                    dat.Execute("INSERT INTO VenueOwnerHistory (VenueID, OwnerID, DateCreatedOwnership) VALUES("+ID+", "+Session["User"].ToString()+", '"+DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")).ToString()+"')");
                }

                //pop up the message to the user
                Encryption encrypt = new Encryption();

                if (isOwner || !isUpdate)
                {
                    Session["Message"] = "Your venue has been posted successfully! An email with this info will also be sent to your account.<br/>"
                        + "Check out <a class=\"AddLink\" onclick=\"Search('" + dat.MakeNiceName(VenueNameTextBox.THE_TEXT) + "_" + ID + "_Venue');\">this venues's</a> home page.<br/><br/><br/> -<a class=\"AddLink\" onclick=\"Search('RateExperience.aspx?Edit=" + isUpdate.ToString() + "&Type=V&ID=" + ID + "');\" >Rate </a>your user experience posting this venue.<br/>";
                    //MessageLiteral.Text = "<script type=\"text/javascript\">alert('" + message + "');</script>";

                }
                else
                {
                    if (ownerUpForGrabs)
                    {
                        Session["Message"] = "You have successfully submitted updates for venue: \"" + VenueNameTextBox.THE_TEXT.Trim() +
                        "\".<br/><br/>Check out <a class=\"AddLink\" onclick=\"Search('" + dat.MakeNiceName(VenueNameTextBox.THE_TEXT) + "_" + ID +
                        "_Venue');\">this venues's</a> home page.<br/><br/> <a class=\"AddLink\" onclick=\"Search('RateExperience.aspx?Edit=" +
                        isUpdate.ToString() + "&Type=V&ID=" + ID + "');\" >Rate </a>your user experience editing this venue.<br/>";

                    }
                    else
                    {
                        Session["Message"] = "You have successfully submitted updates for this venue." +
                                 "<br/><br/> The owner of the venue will need to <b>approve/reject</b> your change suggestions. If you do not hear back " +
                                 "from the venue's owner within <b>7 days</b>, you will be allowed to <b>take over ownership</b> of this venue and automatically submit changes. That is, if no one else beats you to it! " +
                                 "If you have chosen to take over ownership, a button will be available for you on the venue's page to do so. If you have not, you will need to edit the venue's details again.<br/><br/>"
                            + "Check out <a class=\"AddLink\" onclick=\"Search('" + dat.MakeNiceName(VenueNameTextBox.THE_TEXT) + "_" + ID + "_Venue');\">this venues's</a> home page.<br/><br/> <a class=\"AddLink\" onclick=\"Search('RateExperience.aspx?Edit=" + isUpdate.ToString() + "&Type=V&ID=" + ID + "');\" >Rate </a>your user experience editing this venue.<br/>";

                        MessageRadWindow.Width = 530;
                        MessageRadWindow.Height = int.Parse(MessageRadWindow.Height.Value.ToString()) + 20;
                    }

                }

                MessageRadWindow.NavigateUrl = "Message.aspx?message=" + encrypt.encrypt(Session["Message"].ToString() + "<br/><img onclick=\"Search('Home.aspx');\" onmouseover=\"this.src='image/DoneSonButtonSelected.png'\" onmouseout=\"this.src='image/DoneSonButton.png'\" src=\"image/DoneSonButton.png\"/>");
                MessageRadWindow.Visible = true;
                MessageRadWindowManager.VisibleOnPageLoad = true;
            }
        }
        else
        {
            MessagePanel.Visible = true;
            YourMessagesLabel.Text += "<br/><br/>You must agree to the terms and conditions.";
        }
    }
    protected string GetCategoriesFromNode(bool isUpdate, bool isOwner,
        Telerik.Web.UI.RadTreeNode TreeNode, DataView dvCat, string ID, string revisionID)
    {
        HttpCookie cookie = Request.Cookies["BrowserDate"];

        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); string ownerID = "";
        string categories = "";

        bool isOwnerUpForGrabs = dat.IsOwnerUpForGrabs(ID, ref ownerID, ref isOwner, false);
        if (TreeNode.Checked && TreeNode.Enabled)
        {
            dvCat.RowFilter = "CategoryID=" + TreeNode.Value;
            //distinctHash.Add(CategoriesCheckBoxes.Items[i], 21);
            //tagHash.Add(CategoriesCheckBoxes.Items[i], "22");

            if (isUpdate)
            {
                if (isOwner || isOwnerUpForGrabs)
                {
                    if (dvCat.Count == 0)
                    {
                        dat.Execute("INSERT INTO Event_Category_Mapping (CategoryID, EventID, tagSize) VALUES("
                            + TreeNode.Value + "," + ID + ", 22)");
                        if (categories != "")
                            categories += " OR ";
                        categories += " UC.CategoryID=" + TreeNode.Value;
                    }
                }
                else
                {
                    if (dvCat.Count == 0)
                    {
                        string command22 = "INSERT INTO EventCategoryRevisions (AddOrRemove, EventID, CatID, modifierID, RevisionID, DATE) " +
                            "VALUES(1, " + ID + ", " + TreeNode.Value + ", " + Session["User"].ToString() + ", " + revisionID + ", '" + isn + "')";
                        Session["command"] = command22;
                        dat.Execute(command22);
                    }
                    else
                    {
                        //This case is unnecessary since if the Node is checked and it exists for this event, we don't need to do anything
                        //dat.Execute("INSERT INTO VenueCategoryRevisions (AddOrRemove, VenueID, CatID, modifierID, RevisionID) " +
                        //    "VALUES(0, " + ID + ", " + CategoryTree.Nodes[i].Value + ", " + Session["User"].ToString() + ", " + revisionID + ")");
                    }

                }
            }
            else
            {
                dat.Execute("INSERT INTO Event_Category_Mapping (CategoryID, EventID, tagSize) VALUES("
                            + TreeNode.Value + "," + ID + ", 22)");
                if (categories != "")
                    categories += " OR ";
                categories += " UC.CategoryID=" + TreeNode.Value;
            }

        }
        else if (!TreeNode.Checked)
        {
            dvCat.RowFilter = "CategoryID=" + TreeNode.Value;

            if (isUpdate)
            {
                if (isOwner || isOwnerUpForGrabs)
                {
                    if (dvCat.Count == 0)
                    {
                    }
                    else
                    {
                        dat.Execute("DELETE FROM Event_Category_Mapping WHERE EventID=" + ID +
                            " AND CategoryID = " + TreeNode.Value);

                    }
                }
                else
                {
                    if (dvCat.Count == 0)
                    {
                    }
                    else
                    {
                        if (isOwnerUpForGrabs)
                        {
                            dat.Execute("DELETE FROM Event_Category_Mapping WHERE EventID=" + ID +
                            " AND CategoryID = " + TreeNode.Value);
                        }
                        else
                        {
                            dat.Execute("INSERT INTO EventCategoryRevisions (AddOrRemove, EventID, CatID, modifierID, RevisionID, DATE) " +
                                "VALUES(0, " + ID + ", " + TreeNode.Value + ", " + Session["User"].ToString() + ", " + revisionID + ", '" + isn.ToString() + "')");
                        }
                    }

                }
            }
            else
            {
            }
        }

        if (TreeNode.Nodes.Count > 0)
        {
            for (int j = 0; j < TreeNode.Nodes.Count; j++)
            {
                GetCategoriesFromNode(isUpdate, isOwner, TreeNode.Nodes[j], dvCat, ID, revisionID);
            }
        }

        return categories;
    }
    protected void PostIt(object sender, EventArgs e)
    {
        MessagePanel.Visible = false;
        YourMessagesLabel.Text = "";

        string problem = "";
        bool hasEditChanged = false;
        bool chargeCard = false;
        AuthorizePayPal d = new AuthorizePayPal();
        HttpCookie cookie = Request.Cookies["BrowserDate"];

        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); string email = "";
        try
        {
            if (OnwardsIT())
            {
                //Add case for if Paypal is filled in...
                //Authorize Credit Card
                bool goOn = false;
                string message = "";
                decimal price = 0.00M;
                string transactionID = "";

                if (AgreeCheckBox.Checked)
                {
                    if (TotalLabel.Text.Trim() != "")
                    {
                        if (decimal.TryParse(TotalLabel.Text.Trim(), out price))
                        {
                            if (price != 0.00M)
                            {
                                if (FirstNameTextBox.Text.Trim() == "" || LastNameTextBoxtBox.Text.Trim() == "" ||
                                   BillingStreetAddressTextBox.Text.Trim() == "" || BillingCityTextBox.Text.Trim() == "" ||
                                   BillingZipCodeTextBox.Text.Trim() == "" || BillingStateTextBox.Text.Trim() == "" ||
                                   CardNumberTextBox.Text.Trim() == "" || CSVTextBox.Text.Trim() == "")
                                {
                                    goOn = false;
                                    Session["Featured"] = false;
                                    message = "Please fill in all of the billing information.";
                                }
                                else
                                {
                                    goOn = false;
                                    Session["Featured"] = false;
                                    string country = dat.GetDataDV("SELECT country_2_code FROM Countries WHERE country_id=" + BillingCountry.SelectedValue)[0]["country_2_code"].ToString();

                                    com.paypal.sdk.util.NVPCodec status = d.DoPayment("Authorization", TotalLabel.Text, CardTypeDropDown.SelectedValue, CardNumberTextBox.Text.Trim(),
                                        ExpirationMonth.SelectedItem.Text, ExpirationYear.SelectedItem.Text, CSVTextBox.Text.Trim(), FirstNameTextBox.Text.Trim(), LastNameTextBoxtBox.Text.Trim(),
                                        BillingStreetAddressTextBox.Text.Trim(), BillingCityTextBox.Text, BillingStateTextBox.Text, country, BillingZipCodeTextBox.Text.Trim(), dat.GetIP());
                                    message = status.ToString();
                                    string successORFailure = status["ACK"];

                                    switch (successORFailure.ToLower())
                                    {
                                        case "failure":
                                            goOn = false;
                                            Session["Featured"] = false;
                                            message = status["L_LONGMESSAGE0"];
                                            break;
                                        case "successwithwarning":
                                            goOn = false;
                                            Session["Featured"] = false;
                                            message = status["L_SHORTMESSAGE0"];
                                            if (message == "Transaction approved but with invalid CSC format.")
                                                message = "Your CVC/CSV format for this card is not valid.";
                                            break;
                                        case "success":
                                            chargeCard = true;
                                            transactionID = status["TRANSACTIONID"];
                                            Session["TransID"] = transactionID;
                                            goOn = true;
                                            Session["Featured"] = true;
                                            break;
                                        default:
                                            goOn = false;
                                            Session["Featured"] = false;
                                            message = "There was an internal problem. Please contact support at: [email protected]. Please include as much detail as possible about what you are trying to do.";
                                            foreach (string key in status.Keys)
                                            {
                                                message += "key: " + key.ToString() + ", value: " + status[key].ToString() + "<br/>";
                                            }
                                            break;
                                    }
                                }
                            }
                            else
                            {
                                goOn = true;
                                Session["Featrued"] = false;
                            }
                        }
                        else
                        {
                            goOn = true;
                            Session["Featured"] = false;
                        }
                    }
                    else
                    {
                        goOn = true;
                        Session["Featured"] = false;
                    }

                    if (goOn)
                    {

                        string textEmail = "";
                        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ToString());
                        conn.Open();

                        string mediaCat = "0";
                        if (PictureCheckList.Items.Count > 0)
                            mediaCat = "1";

                        bool isOwner = false;

                        string ownerID = "";
                        bool ownerUpForGrabs = false;
                        bool wasFeatured = false;
                        bool isEditing = false;
                        if (isEdit.Text != "")
                        {
                            isEditing = bool.Parse(isEdit.Text);
                            ownerUpForGrabs = dat.IsOwnerUpForGrabs(Request.QueryString["ID"].ToString(),
                                ref ownerID, ref isOwner, false);
                        }

                        bool hadSongs = false;
                        DataSet dsEvent = new DataSet();
                        DataView dvEvent = new DataView();
                        string theCat = "NULL";
                        if (isEditing)
                        {
                            dsEvent = dat.GetData("SELECT * FROM Events WHERE ID=" + eventID.Text);
                            dvEvent = dat.GetDataDV("SELECT * FROM Events WHERE ID=" + eventID.Text);
                            wasFeatured = bool.Parse(dsEvent.Tables[0].Rows[0]["Featured"].ToString());

                            hadSongs = bool.Parse(dsEvent.Tables[0].Rows[0]["hasSongs"].ToString());

                            if (dsEvent.Tables[0].Rows[0]["MediaCategory"].ToString() != mediaCat)
                            {
                                theCat = mediaCat;
                                hasEditChanged = true;
                            }
                        }

                        string addAdressBeg = "";
                        string addAddressEnd = "";
                        string addAddressUpdate = "";

                        string privInsertBeg = ", Private ";
                        string privInsertEnd = ", 'False' ";
                        string privUpdate = ", Private = 'False' ";

                        if (LocaleRadioButtonList.SelectedValue == "1")
                        {
                            addAdressBeg = ", Address ";
                            addAddressEnd = ", @address";
                            addAddressUpdate = ", Address = @address ";

                            privInsertBeg = ", Private ";
                            privInsertEnd = ", 'True' ";
                            privUpdate = ", Private = 'True' ";

                        }

                        string command = "";
                        if (isEditing)
                        {
                            if (isOwner || ownerUpForGrabs)
                            {
                                string sngs = "";
                                if (!hadSongs)
                                    sngs = "hasSongs=@songs,";

                                command = "UPDATE Events SET DaysFeatured=@daysFet, " + addAddressUpdate + privUpdate + "Featured=@fet, MinPrice=@min, MaxPrice=@max, Owner=@owner, [Content]=@content, Header=@header, " +
                                    "Venue=@venue,SponsorPresenter=@sponsor, " + sngs + " mediaCategory=" + mediaCat + ", " +
                                    "ShortDescription=@shortDescription, Country=@country, State=@state, " +
                                    "Zip=@zip, City=@city, LastEditOn=@dateP WHERE ID=" + Request.QueryString["ID"].ToString();
                            }
                            else
                            {
                                command = "INSERT INTO EventRevisions (DaysFeatured," + addAdressBeg + privInsertBeg + "Featured,MinPrice, MaxPrice, EventID, [Content], " +
                                    "Header, Venue, modifierID, "
                                + "ShortDescription, Country, State, Zip, City, DATE)"
                                    + " VALUES(@daysFet, " + addAddressEnd + privInsertEnd + "@fet,@min, @max, " + eventID.Text + ", @content,@header, @venue, @userName, @shortDescription"
                                + ", @country, @state, @zip, @city, '" + isn.ToString() + "')";

                                dsEvent = dat.GetData("SELECT * FROM Events WHERE ID=" + eventID.Text);
                            }
                        }
                        else
                        {
                            command = "INSERT INTO Events (DaysFeatured" + addAdressBeg + privInsertBeg + ", Featured,MinPrice, MaxPrice, Owner, [Content], " +
                                 "Header, Venue, EventGoersCount, SponsorPresenter, hasSongs, mediaCategory, UserName, "
                             + "ShortDescription, Country, State, Zip, City, StarRating, PostedOn, LastEditOn)"
                                 + " VALUES(@daysFet" + addAddressEnd + privInsertEnd + ", @fet, @min, @max, @owner, @content, @header, @venue, "
                                 + " @eventGoers, @sponsor, @songs, " + mediaCat + ", @userName, @shortDescription"
                             + ", @country, @state, @zip, @city, 0, @dateP, @dateP)";
                        }

                        SqlCommand cmd = new SqlCommand(command, conn);
                        cmd.CommandType = CommandType.Text;
                        cmd.Parameters.Add("@dateP", SqlDbType.DateTime).Value = DateTime.Now;

                        string fetDays = "";
                        foreach (ListItem item in FeatureDatesListBox.Items)
                        {
                            fetDays += ";" + item.Text + ";";
                        }

                        if (wasFeatured)
                        {
                            cmd.Parameters.Add("@fet", SqlDbType.Bit).Value = true;

                            if (FeaturePanel.Visible)
                            {
                                cmd.Parameters.Add("@daysFet", SqlDbType.NVarChar).Value = fetDays;
                            }
                            else
                                cmd.Parameters.Add("@daysFet", SqlDbType.NVarChar).Value = dvEvent[0]["DaysFeatured"].ToString();
                        }
                        else
                        {
                            cmd.Parameters.Add("@fet", SqlDbType.Bit).Value = FeaturePanel.Visible;
                            if (FeaturePanel.Visible)
                            {
                                cmd.Parameters.Add("@daysFet", SqlDbType.NVarChar).Value = fetDays;
                            }
                            else
                            {
                                cmd.Parameters.Add("@daysFet", SqlDbType.NVarChar).Value = DBNull.Value;
                            }
                        }

                        if (MinTextBox.Text.Trim() != "")
                        {
                            cmd.Parameters.Add("@min", SqlDbType.Decimal).Value = decimal.Parse(MinTextBox.Text.Trim());
                        }
                        else
                        {
                            cmd.Parameters.Add("@min", SqlDbType.Decimal).Value = DBNull.Value;
                        }

                        if (MaxTextBox.Text.Trim() != "")
                        {
                            cmd.Parameters.Add("@max", SqlDbType.Decimal).Value = decimal.Parse(MaxTextBox.Text.Trim());
                        }
                        else
                        {
                            cmd.Parameters.Add("@max", SqlDbType.Decimal).Value = DBNull.Value;
                        }

                        if (isEditing && !isOwner)
                        {
                            if (ownerUpForGrabs)
                            {
                                if (OwnerCheckBox.Checked)
                                {
                                    hasEditChanged = true;
                                    cmd.Parameters.Add("@owner", SqlDbType.Int).Value = Session["User"].ToString();
                                    dat.Execute("INSERT INTO EventOwnerHistory (EventID, OwnerID, DateCreatedOwnership) " +
                                        "VALUES(" + eventID.Text + ", " + Session["User"].ToString() + ", '" + isn.ToString() + "')");
                                }
                                else
                                {
                                    if (ownerUpForGrabs)
                                    {
                                        cmd.Parameters.Add("@owner", SqlDbType.Int).Value = DBNull.Value;
                                    }
                                }
                            }
                            else
                            {

                            }

                            if (dsEvent.Tables[0].Rows[0]["Content"].ToString() != DescriptionTextBox.Content)
                            {
                                cmd.Parameters.Add("@content", SqlDbType.NVarChar).Value = DescriptionTextBox.Content;
                                hasEditChanged = true;
                            }
                            else
                            {
                                if (ownerUpForGrabs)
                                {
                                    cmd.Parameters.Add("@content", SqlDbType.NVarChar).Value = dsEvent.Tables[0].Rows[0]["Content"].ToString();
                                }
                                else
                                {
                                    cmd.Parameters.Add("@content", SqlDbType.NVarChar).Value = DBNull.Value;
                                }
                            }

                            if (dsEvent.Tables[0].Rows[0]["Header"].ToString() != EventNameTextBox.Text)
                            {
                                cmd.Parameters.Add("@header", SqlDbType.NVarChar).Value = EventNameTextBox.Text;
                                hasEditChanged = true;
                            }
                            else
                            {
                                if (ownerUpForGrabs)
                                {
                                    hasEditChanged = true;
                                    cmd.Parameters.Add("@header", SqlDbType.NVarChar).Value = dsEvent.Tables[0].Rows[0]["Header"].ToString();
                                }
                                else
                                {
                                    cmd.Parameters.Add("@header", SqlDbType.NVarChar).Value = DBNull.Value;
                                }
                            }

                            string shortDesc = DescriptionTextBox.Text;
                            if (shortDesc.Length > 150)
                                shortDesc = shortDesc.Substring(0, 150);

                            if (dsEvent.Tables[0].Rows[0]["ShortDescription"].ToString() != shortDesc)
                            {
                                cmd.Parameters.Add("@shortDescription", SqlDbType.NVarChar).Value = shortDesc;
                                hasEditChanged = true;
                            }
                            else
                            {
                                if (ownerUpForGrabs)
                                {
                                    cmd.Parameters.Add("@shortDescription", SqlDbType.NVarChar).Value =
                                        dsEvent.Tables[0].Rows[0]["ShortDescription"].ToString();
                                    hasEditChanged = true;
                                }
                                else
                                {
                                    cmd.Parameters.Add("@shortDescription", SqlDbType.NVarChar).Value = DBNull.Value;
                                }
                            }

                            //users that are not the owner are not allowed to delete songs or other media
                            //therefore, users can only change the state of 'hasSongs' to 'true', never to 'false'
                            if (ownerUpForGrabs && MusicCheckBox.Checked)
                            {
                                cmd.Parameters.Add("@songs", SqlDbType.Bit).Value = MusicCheckBox.Checked;
                                hasEditChanged = true;
                            }
                            else
                            {
                                cmd.Parameters.Add("@songs", SqlDbType.Bit).Value = dsEvent.Tables[0].Rows[0]["hasSongs"].ToString();
                            }

                            cmd.Parameters.Add("@sponsor", SqlDbType.NVarChar).Value = DBNull.Value;
                        }
                        else
                        {
                            string shortDesc = DescriptionTextBox.Text;
                            if (shortDesc.Length > 150)
                                shortDesc = shortDesc.Substring(0, 150);

                            hasEditChanged = true;
                            cmd.Parameters.Add("@content", SqlDbType.NVarChar).Value = DescriptionTextBox.Content;
                            cmd.Parameters.Add("@header", SqlDbType.NVarChar).Value = EventNameTextBox.Text;
                            cmd.Parameters.Add("@shortDescription", SqlDbType.NVarChar).Value = shortDesc;
                            cmd.Parameters.Add("@songs", SqlDbType.Bit).Value = MusicCheckBox.Checked;

                            if (!isEditing)
                            {
                                cmd.Parameters.Add("@rating", SqlDbType.Int).Value = 0;
                                cmd.Parameters.Add("@userName", SqlDbType.NVarChar).Value = Session["UserName"].ToString();
                                cmd.Parameters.Add("@eventGoers", SqlDbType.Int).Value = 0;
                                if (OwnerCheckBox.Checked)
                                {
                                    cmd.Parameters.Add("@owner", SqlDbType.Int).Value = Session["User"].ToString();
                                }
                                else
                                {
                                    cmd.Parameters.Add("@owner", SqlDbType.Int).Value = DBNull.Value;
                                }
                            }
                            else
                            {
                                if (isOwner)
                                {
                                    if (OwnerCheckBox.Checked)
                                        cmd.Parameters.Add("@owner", SqlDbType.NVarChar).Value = Session["User"].ToString();
                                    else
                                        cmd.Parameters.Add("@owner", SqlDbType.NVarChar).Value = DBNull.Value;
                                }
                            }

                            cmd.Parameters.Add("@sponsor", SqlDbType.NVarChar).Value = DBNull.Value;
                        }

                        #region Create/Assign Venue
                        string country = "";
                        string state1 = "";
                        string venue = "";
                        bool isNewVenue = false;
                        int venueID = 0;
                        if (LocaleRadioButtonList.SelectedValue == "0")
                        {
                            //Need to check if the user is creating a new venue.
                            //First If statement is if a user chose existing venue from dropdown
                            //The Else statement if for the new venue.

                            venueID = int.Parse(Session["NewVenue"].ToString());
                            DataSet dsVenue = dat.GetData("SELECT * FROM Venues WHERE ID=" + venueID.ToString());
                            venue = dsVenue.Tables[0].Rows[0]["Name"].ToString();
                            if (isEditing && !isOwner)
                            {
                                if (dsEvent.Tables[0].Rows[0]["Venue"].ToString() != venueID.ToString())
                                {
                                    hasEditChanged = true;
                                    cmd.Parameters.Add("@venue", SqlDbType.Int).Value = venueID;

                                    if (dsEvent.Tables[0].Rows[0]["Country"].ToString() != dsVenue.Tables[0].Rows[0]["Country"].ToString())
                                        cmd.Parameters.Add("@country", SqlDbType.Int).Value = dsVenue.Tables[0].Rows[0]["Country"].ToString();
                                    else
                                    {
                                        if (ownerUpForGrabs)
                                        {
                                            cmd.Parameters.Add("@country", SqlDbType.Int).Value = dsEvent.Tables[0].Rows[0]["Country"].ToString();
                                        }
                                        else
                                        {
                                            cmd.Parameters.Add("@country", SqlDbType.Int).Value = DBNull.Value;
                                        }
                                    }

                                    if (dsEvent.Tables[0].Rows[0]["State"].ToString() != dsVenue.Tables[0].Rows[0]["State"].ToString())
                                        cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["State"].ToString();
                                    else
                                    {
                                        if (ownerUpForGrabs)
                                        {
                                            cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = dsEvent.Tables[0].Rows[0]["State"].ToString();
                                        }
                                        else
                                        {
                                            cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = DBNull.Value;
                                        }
                                    }
                                    if (dsEvent.Tables[0].Rows[0]["City"].ToString() != dsVenue.Tables[0].Rows[0]["City"].ToString())
                                        cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["City"].ToString();
                                    else
                                    {
                                        if (ownerUpForGrabs)
                                        {
                                            cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = dsEvent.Tables[0].Rows[0]["City"].ToString();
                                        }
                                        else
                                        {
                                            cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = DBNull.Value;
                                        }

                                    }

                                    if (dsEvent.Tables[0].Rows[0]["Zip"].ToString() != dsVenue.Tables[0].Rows[0]["Zip"].ToString())
                                        cmd.Parameters.Add("@zip", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["Zip"].ToString();
                                    else
                                    {
                                        if (ownerUpForGrabs)
                                        {
                                            cmd.Parameters.Add("@zip", SqlDbType.NVarChar).Value = dsEvent.Tables[0].Rows[0]["Zip"].ToString();
                                        }
                                        else
                                        {
                                            cmd.Parameters.Add("@zip", SqlDbType.NVarChar).Value = DBNull.Value;
                                        }
                                    }
                                }
                                else
                                {
                                    if (ownerUpForGrabs)
                                    {
                                        cmd.Parameters.Add("@venue", SqlDbType.Int).Value = dsEvent.Tables[0].Rows[0]["Venue"].ToString();
                                        cmd.Parameters.Add("@country", SqlDbType.Int).Value = dsEvent.Tables[0].Rows[0]["Country"].ToString();
                                        cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = dsEvent.Tables[0].Rows[0]["State"].ToString();
                                        cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = dsEvent.Tables[0].Rows[0]["City"].ToString();
                                        cmd.Parameters.Add("@zip", SqlDbType.NVarChar).Value = dsEvent.Tables[0].Rows[0]["Zip"].ToString();
                                    }
                                    else
                                    {
                                        cmd.Parameters.Add("@venue", SqlDbType.Int).Value = DBNull.Value;
                                        cmd.Parameters.Add("@country", SqlDbType.Int).Value = DBNull.Value;
                                        cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = DBNull.Value;
                                        cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = DBNull.Value;
                                        cmd.Parameters.Add("@zip", SqlDbType.NVarChar).Value = DBNull.Value;
                                    }
                                }
                            }
                            else
                            {
                                cmd.Parameters.Add("@venue", SqlDbType.Int).Value = venueID;
                                cmd.Parameters.Add("@country", SqlDbType.Int).Value = dsVenue.Tables[0].Rows[0]["Country"].ToString();
                                cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["State"].ToString();
                                cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["City"].ToString();
                                cmd.Parameters.Add("@zip", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["Zip"].ToString();
                            }

                            country = dsVenue.Tables[0].Rows[0]["Country"].ToString();
                            state1 = dsVenue.Tables[0].Rows[0]["State"].ToString();
                        }
                        else
                        {
                            venue = dat.stripHTML(addressTextBox.Text.Trim());
                            string privState = "";
                            if (privateStateDropDown.Visible)
                                privState = privateStateDropDown.SelectedItem.Text;
                            else
                                privState = dat.stripHTML(privateStateTextBox.Text.Trim());

                            cmd.Parameters.Add("@venue", SqlDbType.NVarChar).Value = DBNull.Value;
                            cmd.Parameters.Add("@address", SqlDbType.NVarChar).Value = dat.stripHTML(addressTextBox.Text.Trim());
                            cmd.Parameters.Add("@country", SqlDbType.Int).Value = privateCountryDropDown.SelectedValue;
                            cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = privState;
                            cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = dat.stripHTML(cityTextBox.Text.Trim());
                            cmd.Parameters.Add("@zip", SqlDbType.NVarChar).Value = dat.stripHTML(ZipTextBox.Text.Trim());

                            country = privateCountryDropDown.SelectedValue;
                            state1 = privState;
                        }

                        #endregion

                        if (isEditing)
                        {
                            cmd.ExecuteNonQuery();
                        }

                        if (!isEditing || isOwner)
                        {
                            cmd.ExecuteNonQuery();
                        }

                        bool songsChanged = false;
                        bool mediaChanged = false;
                        bool occuranceChanged = false;

                        cmd = new SqlCommand("SELECT @@IDENTITY AS ID", conn);
                        SqlDataAdapter da2 = new SqlDataAdapter(cmd);
                        DataSet ds3 = new DataSet();
                        da2.Fill(ds3);

                        string revisionID = "";
                        if (isEditing && !isOwner && !ownerUpForGrabs)
                        {
                            revisionID = ds3.Tables[0].Rows[0]["ID"].ToString();
                        }
                        string ID = ds3.Tables[0].Rows[0]["ID"].ToString();

                        if (!isEditing)
                        {
                            if (OwnerCheckBox.Checked)
                            {
                                dat.Execute("INSERT INTO EventOwnerHistory (EventID, OwnerID, DateCreatedOwnership) " +
                                    "VALUES(" + ID + ", " + Session["User"].ToString() + ", '" + isn.ToString() + "')");
                            }
                        }

                        string firstStartDate = DateSelectionsListBox.Items[0].Text;

                        email += "<br/><br/><a href=\"http://HippoHappenings.com/" + dat.MakeNiceName(EventNameTextBox.Text) + "_" + ID +
                            "_Event\">" + EventNameTextBox.Text + "</a><br/><br/>" + venue + "<br/><br/>First Dates: " +
                            firstStartDate + "<br/><br/>" + DescriptionTextBox.Content;

                        textEmail = ". Name: " + EventNameTextBox.Text + ". Venue: " + venue + ". First Date: " +
                            firstStartDate +
                            ". Link: http://HippoHappenings.com/" + dat.MakeNiceName(EventNameTextBox.Text) + "_" + ID +
                            "_Event";

                        string temporaryID = "";
                        if (isEditing)
                        {
                            temporaryID = eventID.Text;
                        }
                        else
                        {

                            temporaryID = ID;
                        }

                        string categories =
                            CreateCategories(temporaryID, isOwner, isEditing, revisionID, ownerUpForGrabs);

                        if (isEditing)
                            ID = Request.QueryString["ID"].ToString();

                        //string temp = categories;

                        //if (categories != "")
                        //    temp += " OR ";
                        //temp += "UV.VenueID=" + venueID;

                        #region Take Care of Media

                        if (MusicCheckBox.Checked || hadSongs)
                        {
                            for (int i = 0; i < SongCheckList.Items.Count; i++)
                            {
                                if (isEditing)
                                {
                                    if (SongCheckList.Items[i].Enabled)
                                    {
                                        if (revisionID != "" && !isOwner && !ownerUpForGrabs)
                                        {
                                            cmd = new SqlCommand("INSERT INTO EventRevisions_Song_Mapping (RevisionID, EventID, SongName) " +
                                                "VALUES(" + revisionID + ",@eventID, @songName)", conn);
                                            cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = int.Parse(eventID.Text);
                                            cmd.Parameters.Add("@songName", SqlDbType.NVarChar).Value = SongCheckList.Items[i].Value.ToString();
                                            cmd.ExecuteNonQuery();
                                        }
                                        songsChanged = true;

                                        dat.Execute("UPDATE Events SET hasSongs='True' WHERE ID=" + eventID.Text);

                                        if (i == 0)
                                            dat.Execute("DELETE FROM Event_Song_Mapping WHERE EventID=" + eventID.Text);

                                        cmd = new SqlCommand("INSERT INTO Event_Song_Mapping (EventID, SongName, SongTitle) " +
                                            "VALUES(@eventID, @songName, @songTitle)", conn);
                                        cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = int.Parse(eventID.Text);
                                        cmd.Parameters.Add("@songName", SqlDbType.NVarChar).Value = SongCheckList.Items[i].Value.ToString();
                                        cmd.Parameters.Add("@songTitle", SqlDbType.NVarChar).Value = SongCheckList.Items[i].Text;
                                        cmd.ExecuteNonQuery();
                                    }
                                }
                                else
                                {
                                    dat.Execute("UPDATE Events SET hasSongs='True' WHERE ID=" + ID);

                                    cmd = new SqlCommand("INSERT INTO Event_Song_Mapping (EventID, SongName, SongTitle) " +
                                        "VALUES(@eventID, @songName, @songTitle)", conn);
                                    cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = int.Parse(ID);
                                    cmd.Parameters.Add("@songName", SqlDbType.NVarChar).Value = SongCheckList.Items[i].Value.ToString();
                                    cmd.Parameters.Add("@songTitle", SqlDbType.NVarChar).Value = SongCheckList.Items[i].Text;
                                    cmd.ExecuteNonQuery();
                                }

                            }
                        }

                        //Media Categories: NONE: 0, Picture: 1, Video: 2, YouTubeVideo: 3, Slider: 4
                        bool isSlider = false;
                        if (PictureCheckList.Items.Count > 0)
                            isSlider = true;

                        string tempID = ID;
                        if (isEditing)
                        {
                            tempID = eventID.Text;
                        }

                        if (isSlider)
                        {

                            char[] delim2 = { '\\' };
                            string[] fileArray = System.IO.Directory.GetFiles(MapPath(".") + "\\UserFiles\\" + Session["EffectiveUserName"].ToString() + "\\Slider\\");

                            if (!System.IO.Directory.Exists(MapPath(".") + "\\UserFiles"))
                            {
                                System.IO.Directory.CreateDirectory(MapPath(".") + "\\UserFiles");
                                System.IO.Directory.CreateDirectory(MapPath(".") + "\\UserFiles\\Events\\");
                                System.IO.Directory.CreateDirectory(MapPath(".") + "\\UserFiles\\Events\\" + tempID);
                                System.IO.Directory.CreateDirectory(MapPath(".") + "\\UserFiles\\Events\\" + tempID + "\\Slider\\");
                            }
                            else
                            {
                                if (!System.IO.Directory.Exists(MapPath(".") + "\\UserFiles\\Events\\"))
                                {
                                    System.IO.Directory.CreateDirectory(MapPath(".") + "\\UserFiles\\Events\\");
                                    System.IO.Directory.CreateDirectory(MapPath(".") + "\\UserFiles\\Events\\" + tempID);
                                    System.IO.Directory.CreateDirectory(MapPath(".") + "\\UserFiles\\Events\\" + tempID + "\\Slider\\");
                                }
                                else
                                {
                                    if (!System.IO.Directory.Exists(MapPath(".") + "\\UserFiles\\Events\\" + tempID))
                                    {
                                        System.IO.Directory.CreateDirectory(MapPath(".") + "\\UserFiles\\Events\\" + tempID);
                                        System.IO.Directory.CreateDirectory(MapPath(".") + "\\UserFiles\\Events\\" + tempID + "\\Slider\\");
                                    }
                                    else
                                    {
                                        if (!System.IO.Directory.Exists(MapPath(".") + "\\UserFiles\\Events\\" + tempID + "\\Slider\\"))
                                        {
                                            System.IO.Directory.CreateDirectory(MapPath(".") + "\\UserFiles\\Events\\" + tempID + "\\Slider\\");
                                        }
                                    }
                                }
                            }

                            string YouTubeStr = "";
                            char[] delim3 = { '.' };
                            bool isPathAbsolute = false;
                            for (int i = 0; i < PictureCheckList.Items.Count; i++)
                            {
                                //int length = fileArray[i].Split(delim2).Length;
                                if (PictureCheckList.Items[i].Value == "ImgPathAbsolute")
                                    isPathAbsolute = true;
                                else
                                    isPathAbsolute = false;

                                if (isPathAbsolute)
                                {
                                    cmd = new SqlCommand("INSERT INTO Event_Slider_Mapping (EventID, PictureName, RealPictureName, ImgPathAbsolute) " +
                                                    "VALUES(@eventID, @picName, @realName, 'True')", conn);
                                    cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = tempID;
                                    cmd.Parameters.Add("@picName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Text;
                                    cmd.Parameters.Add("@realName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Text;
                                    cmd.ExecuteNonQuery();
                                }
                                else
                                {
                                    string[] tokens = PictureCheckList.Items[i].Value.ToString().Split(delim3);

                                    if (tokens.Length >= 2)
                                    {
                                        if (tokens[1].ToUpper() == "JPG" || tokens[1].ToUpper() == "JPEG" || tokens[1].ToUpper() == "GIF" || tokens[1].ToUpper() == "PNG")
                                        {
                                            if (!System.IO.File.Exists(MapPath(".") + "\\UserFiles\\Events\\" + tempID + "\\Slider\\" + PictureCheckList.Items[i].Value))
                                            {
                                                System.IO.File.Copy(MapPath(".") + "\\UserFiles\\" + Session["EffectiveUserName"].ToString() +
                                                                        "\\Slider\\" + PictureCheckList.Items[i].Value,
                                                                        MapPath(".") + "\\UserFiles\\Events\\" + tempID + "\\Slider\\" + PictureCheckList.Items[i].Value);
                                            }

                                            if (isEditing)
                                            {

                                                if (revisionID != "" && !isOwner && !ownerUpForGrabs)
                                                {
                                                    if (PictureCheckList.Items[i].Enabled)
                                                    {
                                                        cmd = new SqlCommand("INSERT INTO EventRevisions_Slider_Mapping (RevisionID, EventID, " +
                                                            "PictureName) VALUES(" + revisionID + ",@eventID, @picName)", conn);
                                                        cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = tempID;
                                                        cmd.Parameters.Add("@picName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Value;
                                                        cmd.ExecuteNonQuery();
                                                    }
                                                }
                                                mediaChanged = true;

                                                if (i == 0)
                                                    dat.Execute("DELETE FROM Event_Slider_Mapping WHERE EventID=" + eventID.Text);

                                                dat.Execute("UPDATE Events SET mediaCategory=" + mediaCat + " WHERE ID=" + tempID);

                                                cmd = new SqlCommand("INSERT INTO Event_Slider_Mapping (EventID, PictureName, RealPictureName) " +
                                                    "VALUES(@eventID, @picName, @realName)", conn);
                                                cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = tempID;
                                                cmd.Parameters.Add("@picName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Value;
                                                cmd.Parameters.Add("@realName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Text;
                                                cmd.ExecuteNonQuery();

                                            }
                                            else
                                            {
                                                cmd = new SqlCommand("INSERT INTO Event_Slider_Mapping (EventID, PictureName, RealPicturename) " +
                                                    "VALUES(@eventID, @picName, @realName)", conn);
                                                cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = tempID;
                                                cmd.Parameters.Add("@picName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Value;
                                                cmd.Parameters.Add("@realName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Text;
                                                cmd.ExecuteNonQuery();
                                            }

                                        }
                                        //WE NO LONGER ALLOW Videos to be uploaded to the site itself. Only YouTube videos allowed.
                                        //else if (tokens[1].ToUpper() == "WMV")
                                        //{
                                        //    if (!System.IO.File.Exists(MapPath(".") + "\\UserFiles\\Events\\" + tempID + "\\Slider\\" + PictureCheckList.Items[i].Value))
                                        //    {
                                        //        System.IO.File.Copy(MapPath(".") + "\\UserFiles\\" + Session["UserName"].ToString() +
                                        //             "\\Slider\\" + PictureCheckList.Items[i].Value,
                                        //             MapPath(".") + "\\UserFiles\\Events\\" + tempID + "\\Slider\\" + PictureCheckList.Items[i].Value);
                                        //    }
                                        //    if (isEditing)
                                        //    {
                                        //        if (PictureCheckList.Items[i].Enabled)
                                        //        {
                                        //            cmd = new SqlCommand("INSERT INTO EventRevisions_Slider_Mapping (modifierID, EventID, PictureName) VALUES("+Session["User"].ToString()+",@eventID, @picName)", conn);
                                        //            cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = tempID;
                                        //            cmd.Parameters.Add("@picName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Value;
                                        //            cmd.ExecuteNonQuery();

                                        //            mediaChanged = true;

                                        //            cmd = new SqlCommand("INSERT INTO Event_Slider_Mapping (EventID, PictureName) VALUES(@eventID, @picName)", conn);
                                        //            cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = tempID;
                                        //            cmd.Parameters.Add("@picName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Value;
                                        //            cmd.ExecuteNonQuery();
                                        //        }
                                        //    }
                                        //    else
                                        //    {
                                        //        cmd = new SqlCommand("INSERT INTO Event_Slider_Mapping (EventID, PictureName) VALUES(@eventID, @picName)", conn);
                                        //        cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = tempID;
                                        //        cmd.Parameters.Add("@picName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Value;
                                        //        cmd.ExecuteNonQuery();
                                        //    }

                                        //}
                                    }
                                    else
                                    {
                                        mediaChanged = true;
                                        YouTubeStr += PictureCheckList.Items[i].Value + ";";
                                    }
                                }
                            }

                            if (YouTubeStr != "")
                                if (isEditing)
                                {
                                    if (dsEvent.Tables[0].Rows[0]["YouTubeVideo"].ToString() != YouTubeStr && !isOwner && !ownerUpForGrabs)
                                    {
                                        dat.Execute("INSERT INTO EventRevisions_YouTube (EventID, YouTubeStr, RevisionID) " +
                                            "VALUES(" + ID + ", '" + YouTubeStr + "', " + revisionID + ")");
                                    }

                                    dat.Execute("UPDATE Events SET mediaCategory=" + mediaCat + ", YouTubeVideo='" + YouTubeStr + "' WHERE ID=" + tempID);
                                }
                                else
                                {
                                    dat.Execute("UPDATE Events SET mediaCategory=" + mediaCat + ", YouTubeVideo='" + YouTubeStr + "' WHERE ID=" + ID);
                                }

                        }

                        #endregion

                        #region Take Care of Event Occurance
                        DataSet dsEOccur = dat.GetData("SELECT * FROM Event_Occurance WHERE EventID=" + tempID);
                        DataView dvEOccur = new DataView(dsEOccur.Tables[0], "", "", DataViewRowState.CurrentRows);

                        //if (isEditing && (!isOwner || ownerUpForGrabs))
                        //{
                        //    dvEOccur.RowFilter = "DateTimeStart = '" + StartDateTimePicker.DbSelectedDate.ToString() + "' AND " +
                        //        "DateTimeEnd = '" + EndDateTimePicker.DbSelectedDate.ToString() + "'";

                        //    if (dvEOccur.Count == 0)
                        //    {
                        //        occuranceChanged = true;
                        //        hasEditChanged = true;
                        //        cmd = new SqlCommand("INSERT INTO EventRevisions_Occurance (EventID, DateTimeStart, DateTimeEnd, RevisionID, DATE) " +
                        //            "VALUES(@eventID, @dateStart, @dateEnd, " + temporaryID + ", '"+DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")).ToString()+"')", conn);
                        //        cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = tempID;
                        //        cmd.Parameters.Add("@dateStart", SqlDbType.DateTime).Value = StartDateTimePicker.DbSelectedDate.ToString();
                        //        if (EndDateTimePicker.DbSelectedDate != null)
                        //            cmd.Parameters.Add("@dateEnd", SqlDbType.DateTime).Value = EndDateTimePicker.DbSelectedDate.ToString();
                        //        else
                        //            cmd.Parameters.Add("@dateEnd", SqlDbType.DateTime).Value = DBNull.Value;
                        //        cmd.ExecuteNonQuery();
                        //    }
                        //}
                        //else
                        //{
                        //    dat.Execute("DELETE FROM Event_Occurance WHERE EventID="+temporaryID);
                        //    cmd = new SqlCommand("INSERT INTO Event_Occurance (EventID, DateTimeStart, DateTimeEnd) VALUES(@eventID, @dateStart, @dateEnd)", conn);
                        //    cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = tempID;
                        //    cmd.Parameters.Add("@dateStart", SqlDbType.DateTime).Value = StartDateTimePicker.DbSelectedDate.ToString();
                        //    if (EndDateTimePicker.DbSelectedDate != null)
                        //        cmd.Parameters.Add("@dateEnd", SqlDbType.DateTime).Value = EndDateTimePicker.DbSelectedDate.ToString();
                        //    else
                        //        cmd.Parameters.Add("@dateEnd", SqlDbType.DateTime).Value = DBNull.Value;
                        //    cmd.ExecuteNonQuery();
                        //}

                        //DateTime a = DateTime.Parse(EndDateTimePicker.DbSelectedDate.ToString());
                        //TimeSpan b = a.Subtract(DateTime.Parse(StartDateTimePicker.DbSelectedDate.ToString()));

                        string[] delimStr = { " -- " };

                        dat.Execute("DELETE FROM Event_Occurance WHERE EventID=" + tempID);

                        for (int i = 0; i < DateSelectionsListBox.Items.Count; i++)
                        {
                            if (isEditing)
                            {

                                string[] tokensStr = DateSelectionsListBox.Items[i].Text.Split(delimStr,
                                        StringSplitOptions.RemoveEmptyEntries);

                                //if (dvEOccur.Count == 0)
                                //{
                                occuranceChanged = true;
                                hasEditChanged = true;

                                if (!ownerUpForGrabs && !isOwner)
                                {

                                    cmd = new SqlCommand("INSERT INTO EventRevisions_Occurance (EventID, DateTimeStart, DateTimeEnd, RevisionID, DATE)" +
                                        "VALUES(@eventID, @dateStart, @dateEnd, " + temporaryID + ", '" + isn.ToString() + "')", conn);
                                    cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = tempID;
                                    cmd.Parameters.Add("@dateStart", SqlDbType.DateTime).Value = tokensStr[0];
                                    cmd.Parameters.Add("@dateEnd", SqlDbType.DateTime).Value = tokensStr[1];
                                    cmd.ExecuteNonQuery();
                                }
                                else
                                {
                                    cmd = new SqlCommand("INSERT INTO Event_Occurance (EventID, DateTimeStart, DateTimeEnd) VALUES(@eventID, @dateStart, @dateEnd)", conn);
                                    cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = tempID;
                                    cmd.Parameters.Add("@dateStart", SqlDbType.DateTime).Value = tokensStr[0];
                                    cmd.Parameters.Add("@dateEnd", SqlDbType.DateTime).Value = tokensStr[1];
                                    cmd.ExecuteNonQuery();
                                }
                                //}
                            }
                            else
                            {
                                string[] tokensStr = DateSelectionsListBox.Items[i].Text.Split(delimStr, StringSplitOptions.RemoveEmptyEntries);

                                cmd = new SqlCommand("INSERT INTO Event_Occurance (EventID, DateTimeStart, DateTimeEnd) VALUES(@eventID, @dateStart, @dateEnd)", conn);
                                cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = tempID;
                                cmd.Parameters.Add("@dateStart", SqlDbType.DateTime).Value = tokensStr[0];
                                cmd.Parameters.Add("@dateEnd", SqlDbType.DateTime).Value = tokensStr[1];
                                cmd.ExecuteNonQuery();
                            }

                        }

                        #endregion

                        conn.Close();

                        #region Take care of search terms
                        if (FeaturePanel.Visible)
                        {
                            string terms = "";
                            foreach (ListItem item in SearchTermsListBox.Items)
                            {
                                terms += ";" + item.Text + ";";
                            }
                            foreach (ListItem item in FeatureDatesListBox.Items)
                            {
                                if (item.Value != "Disabled")
                                    dat.Execute("INSERT INTO EventSearchTerms (EventID, SearchTerms, SearchDate) VALUES(" + ID +
                                        ", '" + terms.Replace("'", "''") + "', '" + item.Text + "')");
                            }
                        }
                        #endregion

                        try
                        {
                            if (chargeCard)
                            {
                                Encryption encrypt = new Encryption();

                                //Charge Card though Capture
                                country = dat.GetDataDV("SELECT country_2_code FROM Countries WHERE country_id=" + BillingCountry.SelectedValue)[0]["country_2_code"].ToString();
                                com.paypal.sdk.util.NVPCodec status = d.DoCaptureCode(transactionID, price.ToString(),
                                    "E" + temporaryID + isn.ToString(), "Capture Transaction for Featuring Event '" +
                                    dat.MakeNiceNameFull(EventNameTextBox.Text) + "'");
                                //message = status.ToString();
                                string successORFailure = status["ACK"];
                                switch (successORFailure.ToLower())
                                {
                                    case "failure":
                                        MessagePanel.Visible = true;
                                        YourMessagesLabel.Text = status["L_LONGMESSAGE0"];
                                        //MessagePanel.Visible = true;
                                        //foreach (string key in status.Keys)
                                        //{
                                        //    YourMessagesLabel.Text += "key: '" + key + "', value: '" + status[key] + "' <br/>";
                                        //}
                                        break;
                                    case "success":
                                        //MessagePanel.Visible = true;
                                        //foreach (string key in status.Keys)
                                        //{
                                        //    YourMessagesLabel.Text += "key: '" + key + "', value: '" + status[key] + "' <br/>";
                                        //}
                                        TakeCareOfPostEmail(isEditing, isOwner, isNewVenue, ownerUpForGrabs,
                                        temporaryID, venueID.ToString(), tempID, revisionID, ownerID);
                                        break;
                                    default:
                                        MessagePanel.Visible = true;
                                        foreach (string key in status.Keys)
                                        {
                                            YourMessagesLabel.Text += "key: '" + key + "', value: '" + status[key] + "' <br/>";
                                        }
                                        break;
                                }
                            }
                            else
                            {
                                //MessagePanel.Visible = true;
                                //YourMessagesLabel.Text = "no charge here";
                                TakeCareOfPostEmail(isEditing, isOwner, isNewVenue, ownerUpForGrabs,
                                    temporaryID, venueID.ToString(), tempID, revisionID, ownerID);
                            }
                        }
                        catch (Exception ex)
                        {
                            MessagePanel.Visible = true;
                            YourMessagesLabel.Text = "problem: " + problem + ex.ToString();
                        }

                    }
                    else
                    {
                        MessagePanel.Visible = true;
                        YourMessagesLabel.Text = "" + message;
                    }
                }
                else
                {
                    MessagePanel.Visible = true;
                    YourMessagesLabel.Text = "You must agree to the terms and conditions.";
                }
            }
        }
        catch (Exception ex)
        {
            MessagePanel.Visible = true;
            YourMessagesLabel.Text = "problem: " + problem + ex.ToString() + ", command: ";
        }
    }
    protected void PostIt(object sender, EventArgs e)
    {
        if (AgreeCheckBox.Checked)
        {
            string validateMessage = ValidatePage();
            if (validateMessage == "success")
            {
                bool chargeCard = false;
                string message = "";
                HttpCookie cookie = Request.Cookies["BrowserDate"];

                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); string email = "";

                //AuthorizePayPal d = new AuthorizePayPal();

                SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ToString());
                conn.Open();

                //Add case for if Paypal is filled in...
                //Authorize Credit Card
                decimal price = 0.00M;
                bool goOn = true;
                //string transactionID = "";
                //if (TotalLabel.Text.Trim() != "")
                //{
                //    if (decimal.TryParse(TotalLabel.Text.Trim(), out price))
                //    {
                //        if (price != 0.00M)
                //        {
                //            if (FirstNameTextBox.Text.Trim() == "" || LastNameTextBoxtBox.Text.Trim() == "" ||
                //               BillingStreetAddressTextBox.Text.Trim() == "" || BillingCityTextBox.Text.Trim() == "" ||
                //               BillingZipCodeTextBox.Text.Trim() == "" || BillingStateTextBox.Text.Trim() == "" ||
                //               CardNumberTextBox.Text.Trim() == "" || CSVTextBox.Text.Trim() == "")
                //            {
                //                goOn = false;
                //                Session["Featured"] = false;
                //                message = "Please fill in all of the billing information.";
                //            }
                //            else
                //            {
                //                goOn = false;
                //                Session["Featured"] = false;
                //                string country = dat.GetDataDV("SELECT country_2_code FROM Countries WHERE country_id=" + BillingCountry.SelectedValue)[0]["country_2_code"].ToString();
                //                com.paypal.sdk.util.NVPCodec status = d.DoPayment("Authorization", TotalLabel.Text, CardTypeDropDown.SelectedValue, CardNumberTextBox.Text.Trim(),
                //                    ExpirationMonth.SelectedItem.Text, ExpirationYear.SelectedItem.Text, CSVTextBox.Text.Trim(), FirstNameTextBox.Text.Trim(), LastNameTextBoxtBox.Text.Trim(),
                //                    BillingStreetAddressTextBox.Text.Trim(), BillingCityTextBox.Text, BillingStateTextBox.Text, country, BillingZipCodeTextBox.Text.Trim(), dat.GetIP());
                //                message = status.ToString();
                //                string successORFailure = status["ACK"];

                //                switch (successORFailure.ToLower())
                //                {
                //                    case "failure":
                //                        goOn = false;
                //                        Session["Featured"] = false;
                //                        message = status["L_LONGMESSAGE0"];
                //                        break;
                //                    case "successwithwarning":
                //                        goOn = false;
                //                        Session["Featured"] = false;
                //                        message = status["L_SHORTMESSAGE0"];
                //                        if (message == "Transaction approved but with invalid CSC format.")
                //                            message = "Your CVC/CSV format for this card is not valid.";
                //                        break;
                //                    case "success":
                //                        chargeCard = true;
                //                        transactionID = status["TRANSACTIONID"];
                //                        Session["TransID"] = transactionID;
                //                        goOn = true;
                //                        Session["Featured"] = true;
                //                        break;
                //                    default:
                //                        goOn = false;
                //                        Session["Featured"] = false;
                //                        message = "There was an internal problem. Please contact support at: [email protected]. Please include as much detail as possible about what you are trying to do.";
                //                        foreach (string key in status.Keys)
                //                        {
                //                            message += "key: " + key.ToString() + ", value: " + status[key].ToString() + "<br/>";
                //                        }
                //                        break;
                //                }
                //            }
                //        }
                //        else
                //        {
                //            goOn = true;
                //            Session["Featured"] = false;
                //        }
                //    }
                //    else
                //    {
                //        goOn = true;
                //        Session["Featured"] = false;
                //    }
                //}
                //else
                //{
                //    goOn = true;
                //    Session["Featured"] = false;
                //}

                if (goOn)
                {

                    bool mediaChanged = false;
                    bool contentChanged = false;

                    string mediaCat = "0";
                    if (PictureCheckList.Items.Count > 0)
                        mediaCat = "1";

                    bool isUpdate = false;
                    bool isOwner = false;

                    string ownerID = "";
                    DataSet dsVenue = new DataSet();
                    bool ownerUpForGrabs = false;

                    DataView dvVenue = new DataView();
                    bool wasFeatured = false;
                    if (Request.QueryString["ID"] != null)
                    {
                        dsVenue = dat.GetData("SELECT * FROM Venues WHERE ID=" + Request.QueryString["ID"].ToString());
                        dvVenue = new DataView(dsVenue.Tables[0], "", "", DataViewRowState.CurrentRows);

                        //wasFeatured = bool.Parse(dvVenue[0]["Featured"].ToString());
                        isUpdate = true;
                        ownerUpForGrabs = dat.IsOwnerUpForGrabs(Request.QueryString["ID"].ToString(), ref ownerID, ref isOwner, true);
                    }

                    string state = "";
                    if (StateDropDownPanel.Visible)
                        state = StateDropDown.SelectedItem.Text;
                    else
                        state = StateTextBox.Text;

                    //We already do this in 'Onwards' method
                    //SqlCommand cmd = new SqlCommand("SELECT * FROM Venues WHERE Name=@name AND City=@city AND State=@state ", conn);
                    //cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = VenueNameTextBox.Text;
                    //cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = CityTextBox.Text;
                    //cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = state;
                    //DataSet ds = new DataSet();
                    //SqlDataAdapter da = new SqlDataAdapter(cmd);
                    //da.Fill(ds);

                    //bool cont = false;

                    //if (ds.Tables.Count > 0)
                    //    if (ds.Tables[0].Rows.Count > 0 && !isUpdate)
                    //    {
                    //        MessagePanel.Visible = true;
                    //        YourMessagesLabel.Text += "<br/><br/>A venue under this name already exists in this City and State. To edit the details of this particular venue please contact Hippo Happenings " + "<a class=\"AddGreenLink\" href=\"contact-us\">here</a>. Otherwise, please modify the name slightly.";
                    //    }
                    //    else
                    //        cont = true;
                    //else
                    //    cont = true;
                    bool cont = true;
                    if (cont)
                    {
                        string command = "";

                        if (isUpdate)
                        {
                            if (isOwner || ownerUpForGrabs)
                                command = "UPDATE Venues SET DaysFeatured=@fetDays, Featured=@fet, Name=@name, Owner=@owner, City=@city, Edit='False', Email=@email, Phone=@phone, State=@state, Country=@country, Zip=@zip, Address=@address, "
                                + " EditedByUser=@user, Content=@content, Web=@web, mediaCategory=" + mediaCat + ", LastEditOn=@dateE WHERE ID=" + Request.QueryString["ID"].ToString();
                            else
                            {
                                command = "INSERT INTO VenueRevisions (Web, modifierID, VenueID, [Content], " +
                                 "City, State, Country, Zip, Name, Email, Phone, Address, DATE)"
                                 + " VALUES(@web, " + Session["User"].ToString() + "," + Request.QueryString["ID"].ToString() +
                                 ", @content, @city, @state, @country, @zip, " +
                                 "@name, @email, @phone, @address, '" + DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")) + "')";

                            }
                        }
                        else
                            command = "INSERT INTO Venues (DaysFeatured, Featured, Web, Owner, City, State, Country, Zip, Edit, Name, Email, Phone, Address, CreatedByUser,Content, mediaCategory, Rating, PostedOn) "
                             + "VALUES(@fetDays, @fet, @web, @owner, @city, @state, @country, @zip, 'False', @name, @email, @phone, @address, @user, @content, " + mediaCat + ", 0, @dateE)";

                        string locationStr = "";
                        string apt = "";
                        if (AptNumberTextBox.Text.Trim() != "")
                            apt = AptDropDown.SelectedItem.Text + " " + AptNumberTextBox.Text.Trim().ToLower();
                        if (CountryDropDown.SelectedValue == "223")
                        {
                            locationStr = StreetNumberTextBox.Text.Trim().ToLower() + ";" + StreetNameTextBox.Text.Trim().ToLower()
                                + ";" + StreetDropDown.SelectedItem.Text + ";" + apt;
                        }
                        else
                        {
                            locationStr = LocationTextBox.Text.Trim().ToLower() + ";" + apt;
                        }

                        SqlCommand cmd = new SqlCommand(command, conn);
                        cmd.CommandType = CommandType.Text;
                        cmd.Parameters.Add("@dateE", SqlDbType.DateTime).Value = DateTime.Now;

                        string fetDays = "";
                        //foreach (ListItem item in FeatureDatesListBox.Items)
                        //{
                        //    fetDays += ";" + item.Text + ";";
                        //}

                        if (isUpdate && (isOwner || ownerUpForGrabs) || !isUpdate)
                        {
                            //if (wasFeatured)
                            //{
                            //    cmd.Parameters.Add("@fet", SqlDbType.Bit).Value = true;
                            //    if (FeaturePanel.Visible)
                            //    {
                            //        cmd.Parameters.Add("@fetDays", SqlDbType.NVarChar).Value = fetDays;
                            //    }
                            //    else
                            //        cmd.Parameters.Add("@fetDays", SqlDbType.NVarChar).Value = dvVenue[0]["DaysFeatured"].ToString();
                            //}
                            //else
                            //{
                            cmd.Parameters.Add("@fet", SqlDbType.Bit).Value = false;
                            //FeaturePanel.Visible;
                            //if (FeaturePanel.Visible)
                            //{
                            //    cmd.Parameters.Add("@fetDays", SqlDbType.NVarChar).Value = fetDays;
                            //}
                            //else
                            //{
                            cmd.Parameters.Add("@fetDays", SqlDbType.NVarChar).Value = DBNull.Value;
                            //}
                            //}
                        }

                        if (isUpdate && !isOwner)
                        {
                            if (ownerUpForGrabs)
                            {
                                if (OwnerCheckBox.Checked)
                                    cmd.Parameters.Add("@owner", SqlDbType.Int).Value = Session["User"].ToString();
                                else
                                {
                                    if (ownerUpForGrabs)
                                    {
                                        cmd.Parameters.Add("@owner", SqlDbType.Int).Value = DBNull.Value;
                                    }
                                }
                            }
                            else
                            {

                            }

                            cmd.Parameters.Add("@user", SqlDbType.Int).Value = Session["User"].ToString();

                            if (dsVenue.Tables[0].Rows[0]["Name"].ToString() != VenueNameTextBox.Text.Trim())
                            {
                                cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = VenueNameTextBox.Text.Trim();
                                contentChanged = true;
                            }
                            else
                            {
                                if (ownerUpForGrabs)
                                {
                                    cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["Name"].ToString();
                                }
                                else
                                {
                                    cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = DBNull.Value;
                                }
                            }

                            if (dsVenue.Tables[0].Rows[0]["Email"].ToString() != EmailTextBox.Text.Trim())
                            {
                                if (EmailTextBox.Text.Trim() != "")
                                    cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = EmailTextBox.Text.Trim();
                                else
                                    cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = DBNull.Value;

                                contentChanged = true;
                            }
                            else
                            {
                                if (ownerUpForGrabs)
                                {
                                    cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["Email"].ToString();
                                }
                                else
                                {
                                    cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = DBNull.Value;
                                }
                            }

                            if (dsVenue.Tables[0].Rows[0]["Phone"].ToString() != PhoneTextBox.Text.Trim())
                            {
                                if (PhoneTextBox.Text.Trim() != "")
                                    cmd.Parameters.Add("@phone", SqlDbType.NVarChar).Value = PhoneTextBox.Text.Trim();
                                else
                                    cmd.Parameters.Add("@phone", SqlDbType.NVarChar).Value = DBNull.Value;

                                contentChanged = true;
                            }
                            else
                            {
                                if (ownerUpForGrabs)
                                {
                                    cmd.Parameters.Add("@phone", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["Phone"].ToString();
                                }
                                else
                                {
                                    cmd.Parameters.Add("@phone", SqlDbType.NVarChar).Value = DBNull.Value;
                                }
                            }

                            if (dsVenue.Tables[0].Rows[0]["Web"].ToString() != WebSiteTextBox.Text.Trim())
                            {
                                if (WebSiteTextBox.Text.Trim() != "")
                                    cmd.Parameters.Add("@web", SqlDbType.NVarChar).Value = WebSiteTextBox.Text.Trim();
                                else
                                    cmd.Parameters.Add("@web", SqlDbType.NVarChar).Value = DBNull.Value;

                                contentChanged = true;
                            }
                            else
                            {
                                if (ownerUpForGrabs)
                                {
                                    cmd.Parameters.Add("@web", SqlDbType.NVarChar).Value =
                                        dsVenue.Tables[0].Rows[0]["Web"].ToString();
                                }
                                else
                                {
                                    cmd.Parameters.Add("@web", SqlDbType.NVarChar).Value = DBNull.Value;
                                }
                            }

                            if (dsVenue.Tables[0].Rows[0]["Address"].ToString() != locationStr)
                            {
                                cmd.Parameters.Add("@address", SqlDbType.NVarChar).Value = locationStr;
                                contentChanged = true;
                            }
                            else
                            {
                                if (ownerUpForGrabs)
                                {
                                    cmd.Parameters.Add("@address", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["Address"].ToString();
                                }
                                else
                                {
                                    cmd.Parameters.Add("@address", SqlDbType.NVarChar).Value = DBNull.Value;
                                }
                            }

                            if (dsVenue.Tables[0].Rows[0]["Content"].ToString() != DescriptionTextBox.Content.Trim())
                            {
                                cmd.Parameters.Add("@content", SqlDbType.NVarChar).Value = DescriptionTextBox.Content;
                                contentChanged = true;
                            }
                            else
                            {
                                if (ownerUpForGrabs)
                                {
                                    cmd.Parameters.Add("@content", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["Content"].ToString();
                                }
                                else
                                {
                                    cmd.Parameters.Add("@content", SqlDbType.NVarChar).Value = DBNull.Value;
                                }
                            }

                            if (dsVenue.Tables[0].Rows[0]["Country"].ToString() != CountryDropDown.SelectedValue)
                            {

                                cmd.Parameters.Add("@country", SqlDbType.Int).Value = int.Parse(CountryDropDown.SelectedValue);
                                contentChanged = true;
                            }
                            else
                            {
                                if (ownerUpForGrabs)
                                {
                                    cmd.Parameters.Add("@country", SqlDbType.Int).Value = dsVenue.Tables[0].Rows[0]["Country"].ToString();

                                }
                                else
                                {
                                    cmd.Parameters.Add("@country", SqlDbType.Int).Value = DBNull.Value;
                                }
                            }

                            if (dsVenue.Tables[0].Rows[0]["Zip"].ToString() != ZipTextBox.Text.Trim())
                            {

                                cmd.Parameters.Add("@zip", SqlDbType.NVarChar).Value = ZipTextBox.Text.Trim();
                                contentChanged = true;
                            }
                            else
                            {
                                if (ownerUpForGrabs)
                                {
                                    cmd.Parameters.Add("@zip", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["Zip"].ToString();
                                }
                                else
                                {
                                    cmd.Parameters.Add("@zip", SqlDbType.NVarChar).Value = DBNull.Value;
                                }
                            }

                            if (dsVenue.Tables[0].Rows[0]["City"].ToString() != CityTextBox.Text.Trim())
                            {

                                cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = CityTextBox.Text.Trim();
                                contentChanged = true;
                            }
                            else
                            {
                                if (ownerUpForGrabs)
                                {
                                    cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["City"].ToString();
                                }
                                else
                                {
                                    cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = DBNull.Value;
                                }
                            }

                            if (dsVenue.Tables[0].Rows[0]["State"].ToString() != state)
                            {
                                cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = state;
                                contentChanged = true;
                            }
                            else
                            {
                                if (ownerUpForGrabs)
                                {
                                    cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = dsVenue.Tables[0].Rows[0]["State"].ToString();
                                }
                                else
                                {
                                    cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = DBNull.Value;
                                }
                            }
                        }
                        else
                        {
                            if (OwnerPanel.Visible)
                            {
                                if (OwnerCheckBox.Checked)
                                    cmd.Parameters.Add("@owner", SqlDbType.Int).Value = Session["User"].ToString();
                                else
                                    cmd.Parameters.Add("@owner", SqlDbType.Int).Value = DBNull.Value;
                            }
                            else
                            {

                            }

                            cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = VenueNameTextBox.Text.Trim();

                            if (EmailTextBox.Text != "")
                                cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = EmailTextBox.Text.Trim();
                            else
                                cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = DBNull.Value;

                            if (PhoneTextBox.Text != "")
                                cmd.Parameters.Add("@phone", SqlDbType.NVarChar).Value = PhoneTextBox.Text.Trim();
                            else
                                cmd.Parameters.Add("@phone", SqlDbType.NVarChar).Value = DBNull.Value;

                            if (WebSiteTextBox.Text != "")
                                cmd.Parameters.Add("@web", SqlDbType.NVarChar).Value = WebSiteTextBox.Text.Trim();
                            else
                                cmd.Parameters.Add("@web", SqlDbType.NVarChar).Value = DBNull.Value;

                            cmd.Parameters.Add("@address", SqlDbType.NVarChar).Value = locationStr;
                            cmd.Parameters.Add("@user", SqlDbType.Int).Value = int.Parse(Session["User"].ToString());
                            cmd.Parameters.Add("@content", SqlDbType.NVarChar).Value = DescriptionTextBox.Content.Trim();
                            cmd.Parameters.Add("@country", SqlDbType.Int).Value = int.Parse(CountryDropDown.SelectedValue);
                            cmd.Parameters.Add("@zip", SqlDbType.NVarChar).Value = ZipTextBox.Text.Trim();
                            cmd.Parameters.Add("@city", SqlDbType.NVarChar).Value = CityTextBox.Text.Trim();

                            cmd.Parameters.Add("@state", SqlDbType.NVarChar).Value = state;

                        }
                        cmd.ExecuteNonQuery();

                        string ID = "";
                        string revisionID = "1";
                        if (isUpdate)
                        {
                            if (!isOwner)
                            {
                                ID = Request.QueryString["ID"].ToString();
                                cmd = new SqlCommand("SELECT @@IDENTITY AS IDS", conn);
                                SqlDataAdapter da2 = new SqlDataAdapter(cmd);
                                DataSet ds3 = new DataSet();
                                da2.Fill(ds3);
                                revisionID = ds3.Tables[0].Rows[0]["IDS"].ToString();
                            }
                            else
                            {
                                ID = Request.QueryString["ID"].ToString();
                            }
                        }
                        else
                        {

                            cmd = new SqlCommand("SELECT @@IDENTITY AS IDS", conn);
                            SqlDataAdapter da2 = new SqlDataAdapter(cmd);
                            DataSet ds3 = new DataSet();
                            da2.Fill(ds3);
                            ID = ds3.Tables[0].Rows[0]["IDS"].ToString();
                        }

                        bool isSlider = false;
                        if (PictureCheckList.Items.Count > 0)
                            isSlider = true;
                        if (isSlider)
                        {

                            char[] delim2 = { '\\' };
                            //string[] fileArray = System.IO.Directory.GetFiles(MapPath(".") + "\\UserFiles\\" + Session["UserName"].ToString() + "\\Slider\\");

                            if (!System.IO.Directory.Exists(MapPath(".") + "\\VenueFiles"))
                            {
                                System.IO.Directory.CreateDirectory(MapPath(".") + "\\VenueFiles\\");
                                System.IO.Directory.CreateDirectory(MapPath(".") + "\\VenueFiles\\" + ID + "\\");
                                System.IO.Directory.CreateDirectory(MapPath(".") + "\\VenueFiles\\" + ID + "\\Slider\\");
                            }
                            else
                            {
                                if (!System.IO.Directory.Exists(MapPath(".") + "\\VenueFiles\\" + ID))
                                {
                                    System.IO.Directory.CreateDirectory(MapPath(".") + "\\VenueFiles\\" + ID + "\\");
                                    System.IO.Directory.CreateDirectory(MapPath(".") + "\\VenueFiles\\" + ID + "\\Slider\\");
                                }
                                else
                                {
                                    if (!!System.IO.Directory.Exists(MapPath(".") + "\\VenueFiles\\" + ID + "\\Slider\\"))
                                        System.IO.Directory.CreateDirectory(MapPath(".") + "\\VenueFiles\\" + ID + "\\Slider\\");
                                }
                            }

                            string YouTubeStr = "";
                            char[] delim3 = { '.' };
                            dat.Execute("DELETE FROM Venue_Slider_Mapping WHERE VenueID=" + ID.ToString());
                            for (int i = 0; i < PictureCheckList.Items.Count; i++)
                            {
                                //int length = fileArray[i].Split(delim2).Length;
                                string[] tokens = PictureCheckList.Items[i].Value.ToString().Split(delim3);

                                if (tokens.Length >= 2)
                                {
                                    //if (PictureCheckList.Items[i].Enabled)
                                    //{
                                    if (tokens[1].ToUpper() == "JPG" || tokens[1].ToUpper() == "JPEG" || tokens[1].ToUpper() == "GIF" || tokens[1].ToUpper() == "PNG")
                                    {
                                        if (!System.IO.File.Exists(MapPath(".") + "\\VenueFiles\\" + ID.ToString() + "\\Slider\\" + PictureCheckList.Items[i].Value))
                                        {
                                            System.IO.File.Copy(MapPath(".") + "\\UserFiles\\" + Session["UserName"].ToString() + "\\Slider\\" +
                                                                PictureCheckList.Items[i].Value,
                                                                    MapPath(".") + "\\VenueFiles\\" + ID.ToString() + "\\Slider\\" + PictureCheckList.Items[i].Value);
                                        }

                                        cmd = new SqlCommand("INSERT INTO Venue_Slider_Mapping (VenueID, PictureName, RealPictureName) " +
                                            "VALUES (@eventID, @picName, @realName)", conn);
                                        cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = ID;
                                        cmd.Parameters.Add("@picName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Value;
                                        cmd.Parameters.Add("@realName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Text;
                                        cmd.ExecuteNonQuery();

                                    }
                                    else if (tokens[1].ToUpper() == "WMV")
                                    {
                                        if (!System.IO.File.Exists(MapPath(".") + "\\VenueFiles\\" + ID.ToString() + "\\Slider\\" + PictureCheckList.Items[i].Value))
                                        {
                                            System.IO.File.Copy(MapPath(".") + "\\UserFiles\\" + Session["UserName"].ToString() + "\\Slider\\" +
                                                                PictureCheckList.Items[i].Value,
                                                                    MapPath(".") + "\\VenueFiles\\" + ID.ToString() + "\\Slider\\" + PictureCheckList.Items[i].Value);
                                        }

                                        cmd = new SqlCommand("INSERT INTO Venue_Slider_Mapping (VenueID, PictureName) VALUES (@eventID, @picName)", conn);
                                        cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = ID;
                                        cmd.Parameters.Add("@picName", SqlDbType.NVarChar).Value = PictureCheckList.Items[i].Value;
                                        cmd.ExecuteNonQuery();

                                    }
                                    //}
                                }
                                else
                                {
                                    YouTubeStr += PictureCheckList.Items[i].Value + ";";
                                }

                            }

                            dat.Execute("UPDATE Venues SET YouTubeVideo='" + YouTubeStr + "' WHERE ID=" + ID);

                        }

                        //if (ownerUpForGrabs || isOwner)
                        CreateHoursEventsAndTerms(ID);

                        CreateCategories(ID, isOwner, isUpdate, revisionID, ownerUpForGrabs);

                        //if (CategoriesCheckBoxes.Items.Count > 0)
                        //{
                        //    int catCount = CategoriesCheckBoxes.Items.Count;

                        //    for (int i = 0; i < catCount; i++)
                        //    {
                        //        cmd = new SqlCommand("INSERT INTO Event_Category_Mapping (EventID, CategoryID) VALUES (@eventID, @catID)", conn);
                        //        cmd.Parameters.Add("@catID", SqlDbType.Int).Value = int.Parse(CategoriesCheckBoxes.Items[i].Value);
                        //        cmd.Parameters.Add("@eventID", SqlDbType.Int).Value = ID;
                        //        cmd.ExecuteNonQuery();
                        //    }
                        //}

                        //Send the informational email to the user
                        DataSet dsUser = dat.GetData("SELECT Email, UserName FROM USERS WHERE User_ID=" +
                            Session["User"].ToString());

                        string emailBody = "<br/><br/>Dear " + dsUser.Tables[0].Rows[0]["UserName"].ToString() + ", <br/><br/> you have successfully posted the locale \"" + VenueNameTextBox.Text +
                           "\". <br/><br/> You can find this locale <a href=\"http://hippohappenings.com/" + dat.MakeNiceName(VenueNameTextBox.Text) + "_" + ID + "_Venue\">here</a>. " +
                           "<br/><br/> To rate your experience posting this locale <a href=\"http://hippohappenings.com/RateExperience.aspx?Edit=" + isUpdate.ToString() + "&Type=V&ID=" + ID + "\">please include your feedback here.</a>" +
                           "<br/><br/><br/>Have a Hippo Happening Day!<br/><br/>";

                        //MessageLiteral.Text = "<script type=\"text/javascript\">alert('" + message + "');</script>";

                        if (isUpdate && !isOwner)
                        {
                            if (!ownerUpForGrabs)
                            {
                                DataSet dsEventUser = dat.GetData("SELECT * FROM Users U WHERE User_ID=" + ownerID);
                                emailBody = "<br/><br/>A change request has been submitted for a locale you are the owner of on HippoHappenings: \"" + VenueNameTextBox.Text.Trim() +
                                    "\". <br/><br/> You can find this locale <a href=\"http://hippohappenings.com/" + dat.MakeNiceName(VenueNameTextBox.Text) + "_" + ID + "_Venue\">here</a>. " +
                                    "<br/><br/> Please log into Hippo Happenings and check your messages to view and approve these changes.</a>" +
                                    "<br/><br/><br/>Have a Hippo Happening Day!<br/><br/>";

                                //conn.Open();

                                SqlCommand cmd34 = new SqlCommand("INSERT INTO UserMessages (MessageContent, MessageSubject, From_UserID, To_UserID, Date, [Read], Mode, Live, SentLive) VALUES('" +
                                    "VenueID:" + Request.QueryString["ID"].ToString() + ",UserID:" + Session["User"].ToString() + ",RevisionID:" + revisionID + "',@content, " + dat.HIPPOHAPP_USERID.ToString() + ", " + ownerID + ", '" + DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")).ToString() + "', 0, 5, 1, 1)", conn);
                                cmd34.Parameters.Add("@content", SqlDbType.NVarChar).Value = "A change request has been submitted for a locale you've created: " +
                                    VenueNameTextBox.Text;
                                cmd34.ExecuteNonQuery();
                                conn.Close();
                                if (!Request.Url.AbsoluteUri.Contains("localhost"))
                                {
                                    dat.SendEmail(System.Configuration.ConfigurationManager.AppSettings["emailemail"].ToString(),
                                    System.Configuration.ConfigurationManager.AppSettings["emailName"].ToString(),
                                    dsEventUser.Tables[0].Rows[0]["Email"].ToString(), emailBody, "A change request has been submitted for a locale you own on HippoHappenings: " +
                                    VenueNameTextBox.Text);
                                }

                            }
                        }

                        if (isUpdate)
                        {
                            if (isOwner)
                            {
                                //dat.SendEmail(System.Configuration.ConfigurationManager.AppSettings["emailemail"].ToString(),
                                //    System.Configuration.ConfigurationManager.AppSettings["emailName"].ToString(),
                                //    dsUser.Tables[0].Rows[0]["Email"].ToString(), emailBody, "You have updated venue: " +
                                //    VenueNameTextBox.Text);
                            }
                            else
                            {
                                if (ownerUpForGrabs)
                                {
                                    emailBody = "<br/><br/>You have successfully submitted updates for locale: \"" + VenueNameTextBox.Text.Trim() +
                                    "\". <br/><br/> You can find this locale <a href=\"http://hippohappenings.com/" + dat.MakeNiceName(VenueNameTextBox.Text) + "_" + ID + "_Venue\">here</a>. " +
                                    "<br/><br/> To rate your experience posting this locale <a href=\"http://hippohappenings.com/RateExperience.aspx?Edit=" +
                                    isUpdate.ToString() + "&Type=V&ID=" + ID + "\">please include your feedback here.</a><br/><br/>" +
                                    "Have a Hippo Happening Day!<br/><br/>";
                                }
                                else
                                {
                                    emailBody = "<br/><br/>You have successfully submitted updates for locale: \"" + VenueNameTextBox.Text.Trim() +
                                    "\". <br/><br/> You can find this locale <a href=\"http://hippohappenings.com/" + dat.MakeNiceName(VenueNameTextBox.Text) + "_" + ID + "_Venue\">here</a>. " +
                                    "<br/><br/> The owner of the locale will need to approve/reject your change suggestions. If you do not hear back " +
                                    "from the locale's owner within 7 days, you will be allowed to take over ownership of this locale and automatically submit changes. That is, if no one else beats you to it! " +
                                    "If you have chosen to take over ownership, a button will be available for you on the locale's page. If you have not, you will need to edit the locale's details again." +
                                    "<br/><br/><br/>Have a Hippo Happening Day!<br/><br/>";
                                }

                                if (!Request.Url.AbsoluteUri.Contains("localhost"))
                                {
                                    dat.SendEmail(System.Configuration.ConfigurationManager.AppSettings["emailemail"].ToString(),
                                        System.Configuration.ConfigurationManager.AppSettings["emailName"].ToString(),
                                        dsUser.Tables[0].Rows[0]["Email"].ToString(), emailBody, "You have submitted updates for locale: " +
                                        VenueNameTextBox.Text);
                                }
                            }
                        }
                        else
                        {
                            if (!Request.Url.AbsoluteUri.Contains("localhost"))
                            {
                                dat.SendEmail(System.Configuration.ConfigurationManager.AppSettings["emailemail"].ToString(),
                                    System.Configuration.ConfigurationManager.AppSettings["emailName"].ToString(),
                                    dsUser.Tables[0].Rows[0]["Email"].ToString(), emailBody, "You have posted the locale: " +
                                    VenueNameTextBox.Text);
                            }
                        }

                        conn.Close();

                        //Update ownership history if neccessary
                        if (isUpdate)
                        {
                            if (OwnerPanel.Visible)
                            {
                                if (isOwner)
                                {
                                    if (!OwnerCheckBox.Checked)
                                    {
                                        string OwnerHistoryID = dat.GetData("SELECT * FROM VenueOwnerHistory WHERE VenueID=" +
                                            Request.QueryString["ID"].ToString() + " AND OwnerID=" + Session["User"].ToString() +
                                            " ORDER BY DateCreatedOwnership DESC").Tables[0].Rows[0]["ID"].ToString();

                                        dat.Execute("UPDATE VenueOwnerHistory SET DateLostOwnership='" + DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")).ToString() +
                                            "', GaveUpOwnership='True' WHERE ID=" + OwnerHistoryID);
                                    }
                                }
                                else
                                {
                                    if (OwnerCheckBox.Checked)
                                    {
                                        dat.Execute("INSERT INTO VenueOwnerHistory (VenueID, OwnerID, DateCreatedOwnership) " +
                                            "VALUES(" + Request.QueryString["ID"].ToString() + ", " + Session["User"].ToString() +
                                            ", '" + DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")).ToString() + "')");
                                    }

                                }
                            }
                        }
                        else
                        {
                            dat.Execute("INSERT INTO VenueOwnerHistory (VenueID, OwnerID, DateCreatedOwnership) VALUES(" + ID + ", " + Session["User"].ToString() + ", '" + DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")).ToString() + "')");
                        }

                        try
                        {
                            bool showMessage = true;
                            //if (chargeCard)
                            //{
                            //    Encryption encrypt = new Encryption();

                            //    //Charge Card
                            //    string country = dat.GetDataDV("SELECT country_2_code FROM Countries WHERE country_id=" + BillingCountry.SelectedValue)[0]["country_2_code"].ToString();
                            //    com.paypal.sdk.util.NVPCodec status = d.DoCaptureCode(transactionID, price.ToString(),
                            //        "V" + ID + isn.ToString(), "Capture Transaction for Featuring Locale '" +
                            //        dat.MakeNiceNameFull(VenueNameTextBox.Text) + "'");
                            //    //message = status.ToString();
                            //    string successORFailure = status["ACK"];
                            //    switch (successORFailure.ToLower())
                            //    {
                            //        case "failure":
                            //            MessagePanel.Visible = true;
                            //            YourMessagesLabel.Text += status["L_LONGMESSAGE0"];
                            //            //MessagePanel.Visible = true;
                            //            //foreach (string key in status.Keys)
                            //            //{
                            //            //    YourMessagesLabel.Text += "key: '" + key + "', value: '" + status[key] + "' <br/>";
                            //            //}
                            //            break;
                            //        case "success":
                            //            //MessagePanel.Visible = true;
                            //            //foreach (string key in status.Keys)
                            //            //{
                            //            //    YourMessagesLabel.Text += "key: '" + key + "', value: '" + status[key] + "' <br/>";
                            //            //}
                            //            showMessage = true;
                            //            break;
                            //        default:
                            //            MessagePanel.Visible = true;
                            //            foreach (string key in status.Keys)
                            //            {
                            //                YourMessagesLabel.Text += "key: '" + key + "', value: '" + status[key] + "' <br/>";
                            //            }
                            //            break;
                            //    }
                            //}
                            //else
                            //{
                            //    showMessage = true;
                            //}

                            if (showMessage)
                            {
                                //pop up the message to the user
                                Encryption encrypt = new Encryption();

                                if (isOwner || !isUpdate)
                                {
                                    Session["Message"] = "Your locale has been posted successfully! An email with this info will also be sent to your account.<br/><br/>"
                                        + "Check out <a class=\"AddLink\" onclick=\"Search('" + dat.MakeNiceName(VenueNameTextBox.Text) + "_" + ID + "_Venue');\">this locale's</a> home page.<br/><br/> <a class=\"AddLink\" onclick=\"Search('RateExperience.aspx?Edit=" + isUpdate.ToString() + "&Type=V&ID=" + ID + "');\" >Rate </a>your user experience posting this locale.<br/>";
                                    //MessageLiteral.Text = "<script type=\"text/javascript\">alert('" + message + "');</script>";

                                }
                                else
                                {
                                    if (ownerUpForGrabs)
                                    {
                                        Session["Message"] = "You have successfully submitted updates for locale: \"" + VenueNameTextBox.Text.Trim() +
                                        "\".<br/><br/>Check out <a class=\"AddLink\" onclick=\"Search('" + dat.MakeNiceName(VenueNameTextBox.Text) + "_" + ID +
                                        "_Venue');\">this locale's</a> home page.<br/> <a class=\"AddLink\" onclick=\"Search('RateExperience.aspx?Edit=" +
                                        isUpdate.ToString() + "&Type=V&ID=" + ID + "');\" >Rate </a>your user experience editing this locale.<br/>";

                                    }
                                    else
                                    {
                                        Session["Message"] = "You have successfully submitted updates for this locale." +
                                                 "<br/><br/> The owner of the locale will need to <b>approve/reject</b> your change suggestions. If you do not hear back " +
                                                 "from the locale's owner within <b>7 days</b>, you will be allowed to <b>take over ownership</b> of this locale and automatically submit changes. That is, if no one else beats you to it! " +
                                                 "If you have chosen to take over ownership, a button will be available for you on the locale's page to do so. If you have not, you will need to edit the locale's details again.<br/><br/>"
                                            + "Check out <a class=\"AddLink\" onclick=\"Search('" + dat.MakeNiceName(VenueNameTextBox.Text) + "_" + ID + "_Venue');\">this locales's</a> home page.<br/><br/> <a class=\"AddLink\" onclick=\"Search('RateExperience.aspx?Edit=" + isUpdate.ToString() + "&Type=V&ID=" + ID + "');\" >Rate </a>your user experience editing this locale.<br/>";

                                        MessageRadWindow.Width = 530;
                                        MessageRadWindow.Height = int.Parse(MessageRadWindow.Height.Value.ToString()) + 20;
                                    }

                                }

                                MessageRadWindow.NavigateUrl = "Message.aspx?message=" + encrypt.encrypt(Session["Message"].ToString() + "<br/><br/><div align=\"center\">" +
                                    "<div style=\"width: 50px;\" onclick=\"Search('home')\">" +
                                    "<div class=\"topDiv\" style=\"clear: both;\">" +
                                      "  <img style=\"float: left;\" src=\"NewImages/ButtonLeft.png\" height=\"27px\" /> " +
                                       " <div class=\"NavyLink\" style=\"font-size: 12px; text-decoration: none; padding-top: 5px;padding-left: 6px; padding-right: 6px;height: 27px;float: left;background: url('NewImages/ButtonPixel.png'); background-repeat: repeat-x;\">" +
                                           " OK " +
                                        "</div>" +
                                       " <img style=\"float: left;\" src=\"NewImages/ButtonRight.png\" height=\"27px\" /> " +
                                    "</div>" +
                                    "</div>" +
                                    "</div><br/>");
                                MessageRadWindow.Visible = true;
                                MessageRadWindow.VisibleOnPageLoad = true;
                            }
                        }
                        catch (Exception ex)
                        {
                            MessagePanel.Visible = true;
                            YourMessagesLabel.Text += "<br/><br/>" + ex.ToString();
                        }

                    }
                }
                else
                {
                    MessagePanel.Visible = true;
                    YourMessagesLabel.Text = message;
                }
            }
            else
            {
                MessagePanel.Visible = true;
                YourMessagesLabel.Text += validateMessage;
            }
        }
        else
        {
            MessagePanel.Visible = true;
            YourMessagesLabel.Text += "You must agree to the terms and conditions.";
        }
    }