protected void OnReturn(object sender, EventArgs e)
        {
            if ((bool)Session["save"])
            {
                dtColors = (DataTable)Session["CardsColors"];
                DataTable initColors = (DataTable)Session["InitCardsColors"];
                foreach (DataRow row in dtColors.Rows)
                {
                    int selectedColor = Convert.ToInt32(row["colorName"]);
                    if (initColors.Rows.Find(new object[] { selectedCard, selectedColor }) == null)
                    {
                        if (cardsService.InsertColor(selectedCard, selectedColor) > 0)
                        {
                            Response.Write("<script>alert('Color successfully inserted');</script>");
                        }
                        else
                        {
                            Response.Write("<script>alert('Color insertion failed');</script>");
                        }
                    }
                }
                foreach (DataRow row in initColors.Rows)
                {
                    int selectedColor = Convert.ToInt32(row["colorName"]);
                    if (dtColors.Rows.Find(new object[] { selectedCard, selectedColor }) == null)
                    {
                        if (cardsService.DeleteCardsColor(selectedCard, selectedColor) > 0)
                        {
                            Response.Write("<script>alert('Color successfully inserted');</script>");
                        }
                        else
                        {
                            Response.Write("<script>alert('Color insertion failed');</script>");
                        }
                    }
                }
                dtKinds = (DataTable)Session["kindsDataTable"];
                DataTable initKinds      = (DataTable)Session["InitKinds"];
                int[]     attributes     = (int[])Session["Attributes"];
                int[]     initAttributes = (int[])Session["InitAttributes"];

                foreach (DataRow row in dtKinds.Rows)
                {
                    int selectedKind = Convert.ToInt32(row["kindName"]);
                    if (initKinds.Rows.Find(new object[] { selectedCard, selectedKind }) == null)
                    {
                        if (cardsService.InsertKind(selectedCard, selectedKind) > 0)
                        {
                            Response.Write("<script>alert('Kind successfully inserted');</script>");
                            if (int.Parse(kindsList.Items.FindByText("creature").Value) == selectedKind)
                            {
                                cardsService.InsertAttributes(selectedCard, attributes[0], attributes[1]);
                            }
                        }
                        else
                        {
                            Response.Write("<script>alert('Kind insertion Kind');</script>");
                        }
                    }
                }
                foreach (DataRow row in initKinds.Rows)
                {
                    int selectedKind = Convert.ToInt32(row["kindName"]);
                    if (dtKinds.Rows.Find(new object[] { selectedCard, selectedKind }) == null)
                    {
                        if (cardsService.DeleteCardsKinds(selectedCard, selectedKind) > 0)
                        {
                            Response.Write("<script>alert('Kind successfully inserted');</script>");
                        }
                        else
                        {
                            Response.Write("<script>alert('Kind insertion failed');</script>");
                        }
                    }
                    else
                    if (int.Parse(kindsList.Items.FindByText("creature").Value) == selectedKind && (initAttributes[0] != attributes[0] || initAttributes[1] != attributes[1]))
                    {
                        cardsService.UpdateCardAttributes(selectedCard, attributes[0], attributes[1]);
                    }
                }
            }
            Response.Redirect(Session["From"].ToString());
        }