using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using digioz.Themes;
using System.Collections.Generic;
using System.IO;

namespace digioz.ThemeManagement
{
    public class CSSString
    {
        private static string csSSString;
        private static int ciCurrAttrPos = -1;

        public CSSString()
        {}

        public static string SSString
        {
            get { return csSSString; }
            set { csSSString = value; }
        }
        public static int CurrAttrPos
        {
            get { return ciCurrAttrPos; }
            set { ciCurrAttrPos = value; }
        }

        public string[] CSSAttributes
        {
            get { return System.Enum.GetNames(typeof(CSSAttributeType)); }
        }

        public static void SortAttributeList(string lsWhich)
        {
            if (lsWhich.ToLower() == "master")
            {
                CSSManager.cloCSSAllAttributeList.Sort(delegate(CSSAttribute a, CSSAttribute b)
                {
                    int liDiff = String.Compare(a.TargetElement, b.TargetElement);
                    if (liDiff != 0) return liDiff;
                    return (String.Compare(a.ActualName, b.ActualName));
                });
            }
            else
            {
                CSSManager.cloCSSCurrAttributeList.Sort(delegate(CSSAttribute a, CSSAttribute b)
                {
                    int liDiff = String.Compare(a.TargetElement, b.TargetElement);
                    if (liDiff != 0) return liDiff;
                    return (String.Compare(a.ActualName, b.ActualName));
                });
            }
        }

        public static string CheckAndAddDefaultAttributes(string lsFullCSSString)
        {
            string lsCSSTrgtElmnt = "";
            int liLVar1 = 0;
            string lsFullCSSString_Tmp = lsFullCSSString;
            lsFullCSSString = lsFullCSSString.Replace("\r", "");
            string[] laFullCSSString = lsFullCSSString.Split('}');
            try
            {
                for (int liLVar2 = 0; liLVar2 < laFullCSSString.Length - 1; liLVar2++)
                {
                    if (laFullCSSString[liLVar2].IndexOf("{") != -1)
                    {
                        lsCSSTrgtElmnt = laFullCSSString[liLVar2].Substring(0, laFullCSSString[liLVar2].IndexOf("{")).Trim();
                        if (laFullCSSString[liLVar2].Substring(laFullCSSString[liLVar2].IndexOf("{") + 1).Trim() != "")
                        {
                            if (CSSManager.cloDefaultElements.IndexOf(lsCSSTrgtElmnt.ToUpper()) != -1)
                            {
                                CSSManager.cloDefaultElements[CSSManager.cloDefaultElements.IndexOf(lsCSSTrgtElmnt.ToUpper())] = "_£$%_";
                            }
                        }
                    }
                }
                foreach (string lsTmp1 in CSSManager.cloDefaultElements)
                {
                    if (lsTmp1 != "_£$%_")
                    {
                        lsFullCSSString_Tmp += "\r" + CSSManager.cloDefaultElements[liLVar1].ToLower() + "{\r\t" + CSSManager.cloDefaultElementsString[liLVar1].Replace("{", "").Replace("}", "").Replace(";", ";\r\t") + "}";
                    }
                    liLVar1++;
                }
                lsFullCSSString_Tmp = lsFullCSSString_Tmp.Replace("\t}", "}");
            }
            catch
            {
            }
            return (lsFullCSSString_Tmp);
        }

        public static bool CreateCompleteCSSString()
        {
            System.Text.StringBuilder lsbCSSString = new System.Text.StringBuilder("");
            string lsPrevElemType = "";
            string lsCurrElemType = "";

            SortAttributeList("new");

            foreach (CSSAttribute csCSSAttribute in CSSManager.cloCSSCurrAttributeList)
            {
                if ((csCSSAttribute.SelectedValue != "") && (csCSSAttribute.SelectedValue != null))
                {
                    lsCurrElemType = csCSSAttribute.TargetElement;
                    if (lsPrevElemType != lsCurrElemType)
                    {
                        lsbCSSString.Append('\r');
                        lsbCSSString.Append("}");
                        lsbCSSString.Append('\r');
                        if (csCSSAttribute.TargetType == CSSTargetType.SpecificClass)
                        {
                            lsbCSSString.Append(".");
                        }
                        else if (csCSSAttribute.TargetType == CSSTargetType.SpecificObject)
                        {
                            lsbCSSString.Append("#");
                        }
                        lsbCSSString.Append(csCSSAttribute.TargetElement.ToLower());
                        lsbCSSString.Append('\r');
                        lsbCSSString.Append("{");
                    }
                    lsbCSSString.Append('\r');
                    lsbCSSString.Append("     " + csCSSAttribute.ActualName);
                    lsbCSSString.Append(":");
                    if (csCSSAttribute.ValueSource == CSSValueSource.FilePath)
                    {
                        lsbCSSString.Append("url('" + csCSSAttribute.SelectedValue + "')");
                    }
                    else
                    {
                        lsbCSSString.Append(csCSSAttribute.SelectedValue);
                    }
                    lsbCSSString.Append(";");
                    lsPrevElemType = lsCurrElemType;
                }
            }
            SSString = lsbCSSString.ToString();
            SSString = SSString.Substring(2) + '\r' + "}";
            return (true);
        }
    }

    public class CSSManager
    {
        private string csSSCurrPath;
        private string csSSLastGoodPath;
        public static CSSAllAttributeList cloCSSAllAttributeList;
        public static CSSCurrAttributeList  cloCSSCurrAttributeList;
        public static List<string> cloHtmlElements;
        public static List<string> cloSpecificObjects;
        public static List<string> cloOtherElements;
        public static List<string> cloDefaultElements;
        public static List<string> cloDefaultElementsString;

        public CSSManager()
        {
        }

        public string CSSCurrPath
        {
            get { return csSSCurrPath; }
            set { csSSCurrPath = value; }
        }

        public string CSSLastGoodPath
        {
            get { return csSSLastGoodPath; }
            set { csSSLastGoodPath = value; }
        }

        public static bool InitHtmlElementDetails()
        {
            cloHtmlElements = new List<string>();
            cloHtmlElements.Add("A");
            cloHtmlElements.Add("A:ACTIVE");
            cloHtmlElements.Add("A:HOVER");
            cloHtmlElements.Add("A:LINK");
            cloHtmlElements.Add("A:VISITED");
            cloHtmlElements.Add("BODY");
            cloHtmlElements.Add("BR");
            cloHtmlElements.Add("BUTTON");
            cloHtmlElements.Add("DIV");
            cloHtmlElements.Add("FORM");
            cloHtmlElements.Add("H1");
            cloHtmlElements.Add("H2");
            cloHtmlElements.Add("H3");
            cloHtmlElements.Add("H4");
            cloHtmlElements.Add("H5");
            cloHtmlElements.Add("H6");
            cloHtmlElements.Add("IMG");
            cloHtmlElements.Add("INPUT");
            cloHtmlElements.Add("LABEL");
            cloHtmlElements.Add("LI");
            cloHtmlElements.Add("OPTION");
            cloHtmlElements.Add("OL");
            cloHtmlElements.Add("P");
            cloHtmlElements.Add("SELECT");
            cloHtmlElements.Add("SPAN");
            cloHtmlElements.Add("TABLE");
            cloHtmlElements.Add("TEXTAREA");
            cloHtmlElements.Add("TD");
            cloHtmlElements.Add("TH");
            cloHtmlElements.Add("THEAD");
            cloHtmlElements.Add("TBODY");
            cloHtmlElements.Add("TFOOT");
            cloHtmlElements.Add("TR");
            cloHtmlElements.Sort();

            cloDefaultElements = new List<string>();
            cloDefaultElements.Add("BODY");
            cloDefaultElements.Add(".BANNER");
            cloDefaultElements.Add(".MAINTABLE");
            cloDefaultElements.Add(".DISPLAY");
            cloDefaultElements.Add(".DISPLAYHEADER");
            cloDefaultElements.Add("FOOTER");
            cloDefaultElements.Add(".MENUTOP");
            cloDefaultElements.Add(".MENUTOP A:LINK");
            cloDefaultElements.Add(".MENUTOP A:HOVER");
            cloDefaultElements.Add(".MENULEFT");
            cloDefaultElements.Add(".MENULEFT A:LINK");
            cloDefaultElements.Add(".MENULEFT A:HOVER");
            cloDefaultElements.Add(".MENULEFTNAME");
            cloDefaultElements.Add(".MENURIGHT");
            cloDefaultElements.Add(".MENURIGHT A:LINK");
            cloDefaultElements.Add(".MENURIGHT A:HOVER");
            cloDefaultElements.Add(".MENURIGHTNAME");
            cloDefaultElements.Add(".BOX");
            cloDefaultElements.Add(".BOX A:LINK");
            cloDefaultElements.Add(".BOX A:HOVER");
            cloDefaultElements.Add(".BOXTOOLBAR");
            cloDefaultElements.Add(".DISPLAYBOX");
            cloDefaultElements.Add(".DISPLAYBOX A:LINK");
            cloDefaultElements.Add(".DISPLAYBOX A:HOVER");
            cloDefaultElements.Add(".DISPLAYBOXTOOLBAR");
            cloDefaultElements.Add(".POLL");
            cloDefaultElements.Add(".POLLTOOLBAR");
            cloDefaultElements.Add(".POLLBAR");
            cloDefaultElements.Add(".POLLHYPERLINK");
            cloDefaultElements.Add(".POLLLISTHEADER");
            cloDefaultElements.Add(".POLLGRID");
            cloDefaultElements.Add(".POLLGRIDHEADER");
            cloDefaultElements.Add(".POLLGRIDROW");
            cloDefaultElements.Add(".POLLGRIDROWALTERNATE");
            cloDefaultElements.Add(".POLLFIELDHEADER");
            cloDefaultElements.Add(".FORUMMAINPAGE");
            cloDefaultElements.Add(".FORUMMAINLINES");
            cloDefaultElements.Add(".FORUMMAINHEADER");
            cloDefaultElements.Add(".FORUMMAINNAME");
            cloDefaultElements.Add(".FORUMMAINTOPICS");
            cloDefaultElements.Add(".FORUMMAINPOSTS");
            cloDefaultElements.Add(".FORUMMAINLASTPOST");
            cloDefaultElements.Add(".FORUMTOPICDETAILLINE");
            cloDefaultElements.Add(".FORUMTOPICVIEWTABLE");
            cloDefaultElements.Add(".FORUMMESSAGEBOX");
            cloDefaultElements.Add(".FORUMNAVIGATION");
            cloDefaultElements.Add("INPUT");
            cloDefaultElements.Add("TEXTAREA");
            cloDefaultElements.Add(".MESSAGEOK");
            cloDefaultElements.Add(".MESSAGEERROR");
            cloDefaultElements.Add(".ADMINDISPLAY");
            cloDefaultElements.Add(".ADMINMENULEFT");
            cloDefaultElements.Add(".ADMINMENULEFT A:LINK");
            cloDefaultElements.Add(".ADMINMENULEFT A:HOVER");
            cloDefaultElements.Add(".MADMINMENULEFTNAME");
            cloDefaultElements.Add(".ADMINMENURIGHT");
            cloDefaultElements.Add(".ADMINMENURIGHT A:LINK");
            cloDefaultElements.Add(".ADMINMENURIGHT A:HOVER");
            cloDefaultElements.Add(".MADMINMENURIGHTNAME");
            cloDefaultElements.Add(".NEWSLISTNAVIGATION");
            cloDefaultElements.Add(".NEWSLISTTABLE");
            cloDefaultElements.Add(".NEWSLISTTOOLBAR");
            cloDefaultElements.Add(".NEWSLISTROW");
            cloDefaultElements.Add("#LEFTNAV");
            cloDefaultElements.Add("#RIGHTNAV");
            cloDefaultElements.Add("#NUMNAV");
            cloDefaultElements.Add(".NEWS");
            cloDefaultElements.Add(".NEWSCONTROL");
            cloDefaultElements.Add(".CSSATTRIBUTES");
            cloDefaultElements.Add(".CSSHEADERS");
            cloDefaultElements.Add(".CSSTARGETS");
            cloDefaultElements.Add(".ERRORMSG");
            cloDefaultElements.Add(".SUCCESSMSG");

            cloDefaultElementsString = new List<string>();
            cloDefaultElementsString.Add("{background: #E7E7E7;font:10pt arial,helvetica,clean,sans-serif;}");
            cloDefaultElementsString.Add("{background-color: #C0C0FF;background-image:url('images/banner_bg.jpg');background-repeat: repeat;font:16pt arial,helvetica,clean,sans-serif;width:900px;height:100px;border-width:thin;text-align: center;vertical-align:middle;padding-left: 0px;}");
            cloDefaultElementsString.Add("{width:900px;border-width:thin;vertical-align: top;}");
            cloDefaultElementsString.Add("{background-color: #FFFFFF;font:10pt arial,helvetica,clean,sans-serif;color:Black;width:590px;min-height: 460px;text-align:left;vertical-align:top;padding-left:5px;padding-right:5px;padding-top:5px;padding-bottom: 20px;}");
            cloDefaultElementsString.Add("{color: #000266;font-weight: bold;}");
            cloDefaultElementsString.Add("{background-color: #C0C0C0;background-image:url('images/footer_bg.jpg');background-repeat: repeat;font:8pt arial,helvetica,clean,sans-serif;width:900px;height:20px;border-width:thin;text-align:center;vertical-align:middle;}");
            cloDefaultElementsString.Add("{background-color: #000266;font:10pt arial,helvetica,clean,sans-serif;color: #FFFFFF;width:900px;height:20px;border-width:thin;text-align:center;vertical-align:middle;}");
            cloDefaultElementsString.Add("{text-decoration: none;color:#FFFFFF;}");
            cloDefaultElementsString.Add("{text-decoration: underline;color: red;}");
            cloDefaultElementsString.Add("{background-color: #EFEFEF;font:10pt arial,helvetica,clean,sans-serif;width:150px;padding-left: 0px;border-width:thin;text-align:left;vertical-align:top;}");
            cloDefaultElementsString.Add("{text-decoration: none;color:#FFFFFF;}");
            cloDefaultElementsString.Add("{text-decoration: underline;color: red;}");
            cloDefaultElementsString.Add("{background-Color:navy;color:white;}");
            cloDefaultElementsString.Add("{background-color: #EFEFEF;font:10pt arial,helvetica,clean,sans-serif;width:150px;padding-left: 0px;border-width:thin;text-align:left;vertical-align:top;}");
            cloDefaultElementsString.Add("{text-decoration: none;color:#FFFFFF;}");
            cloDefaultElementsString.Add("{text-decoration: underline;color: red;}");
            cloDefaultElementsString.Add("{background-Color:navy;color:white;}");
            cloDefaultElementsString.Add("{background-color: #E1E1E1;width: 148px;}");
            cloDefaultElementsString.Add("{text-decoration: none;color:#000266;}");
            cloDefaultElementsString.Add("{text-decoration: underline;color: red;}");
            cloDefaultElementsString.Add("{width:148px;height:20px;color: White;background-color: #000266;}");
            cloDefaultElementsString.Add("{background-color: #E1E1E1;width: 585px;}");
            cloDefaultElementsString.Add("{text-decoration: none;color:#000266;}");
            cloDefaultElementsString.Add("{text-decoration: underline;color: red;}");
            cloDefaultElementsString.Add("{width:148px;height:20px;color: White;background-color: #404040;}");
            cloDefaultElementsString.Add("{width:140px;height:150px;background-color:#E7E7E7;vertical-align:top;}");
            cloDefaultElementsString.Add("{background: #8B9BFB;border-color: Maroon;}");
            cloDefaultElementsString.Add("{background-image:url(images/poll_bar.jpg);}");
            cloDefaultElementsString.Add("{color: #008080;text-decoration: underline;}");
            cloDefaultElementsString.Add("{background-color:#000266;color:#FFFFFF;width: 100%;}");
            cloDefaultElementsString.Add("{color:#333333;}");
            cloDefaultElementsString.Add("{background-color:#507CD1;font-weight:bold;color:White;}");
            cloDefaultElementsString.Add("{background-color:#EFF3FB;}");
            cloDefaultElementsString.Add("{background-color:White;}");
            cloDefaultElementsString.Add("{background-color:#507CD1;font-weight:bold;color:White;width:180px;}");
            cloDefaultElementsString.Add("{background-color:#B7B7B7;font-weight:bold;}");
            cloDefaultElementsString.Add("{text-align:left;}");
            cloDefaultElementsString.Add("{background-color:#000266;color:#FFFFFF;width: 100%;}");
            cloDefaultElementsString.Add("{width:350px;text-align:left;}");
            cloDefaultElementsString.Add("{width:50px;text-align:center;}");
            cloDefaultElementsString.Add("{width:50px;text-align:center;}");
            cloDefaultElementsString.Add("{width:75px;text-align:left;}");
            cloDefaultElementsString.Add("{font-size:x-small;}");
            cloDefaultElementsString.Add("{background-color:#EFEFEF;border:1px,#cococo;width:580px;}");
            cloDefaultElementsString.Add("{background-color:#E1E1E1;}");
            cloDefaultElementsString.Add("{font-size:x-small;}");
            cloDefaultElementsString.Add("{border-right: #a7b2c3 1px solid;border-top: #a7b2c3 1px solid;border-left: #a7b2c3 1px solid;border-bottom: #a7b2c3 1px solid;font-size: 8pt;font-family: Verdana, Arial;}");
            cloDefaultElementsString.Add("{border-right: #a7b2c3 1px solid;border-top: #a7b2c3 1px solid;border-left: #a7b2c3 1px solid;border-bottom: #a7b2c3 1px solid;font-size: 8pt;font-family: Verdana, Arial;}");
            cloDefaultElementsString.Add("{font:10pt arial,helvetica,clean,sans-serif;color:Green;}");
            cloDefaultElementsString.Add("{font:10pt arial,helvetica,clean,sans-serif;color:Red;}");
            cloDefaultElementsString.Add("{background-color: #FFFFFF;font:10pt arial,helvetica,clean,sans-serif;color:Black;width:585px;min-height: 460px;text-align:left;vertical-align:top;padding-left:5px;padding-right:5px;padding-top:5px;padding-bottom: 20px;}");
            cloDefaultElementsString.Add("{background-color: #EFEFEF;font:10pt arial,helvetica,clean,sans-serif;width:145px;padding-left: 0px;border-width:thin;text-align:left;vertical-align:top;}");
            cloDefaultElementsString.Add("{text-decoration: none;color:#000000;}");
            cloDefaultElementsString.Add("{text-decoration: underline;color: red;}");
            cloDefaultElementsString.Add("{background-Color:navy;color:white;}");
            cloDefaultElementsString.Add("{background-color: #EFEFEF;font:10pt arial,helvetica,clean,sans-serif;width:145px;padding-left: 0px;border-width:thin;text-align:left;vertical-align:top;}");
            cloDefaultElementsString.Add("{text-decoration: none;color:#000000;}");
            cloDefaultElementsString.Add("{text-decoration: underline;color: red;}");
            cloDefaultElementsString.Add("{background-Color:navy;color:white;}");
            cloDefaultElementsString.Add("{width:580px;margin-top:30px;}");
            cloDefaultElementsString.Add("{width:580px;}");
            cloDefaultElementsString.Add("{width:580px;height:20px;color: White;background-color: #404040;}");
            cloDefaultElementsString.Add("{text-align:left;}");
            cloDefaultElementsString.Add("{float:left;width:180px;text-align:center;}");
            cloDefaultElementsString.Add("{float:right;width:180px;margin-right:20px;text-align:center;}");
            cloDefaultElementsString.Add("{float:inherit;text-align:center;}");
            cloDefaultElementsString.Add("{background-color:#EFEFEF;border:1px,#cococo;width:100%;}");
            cloDefaultElementsString.Add("{background-color:#E7E7E7;border:dotted,1px;} ");
            cloDefaultElementsString.Add("{font-family:Arial;font-size:x-small;color:Black;}");
            cloDefaultElementsString.Add("{font-family:Arial;font-size:9pt;color:Black;}");
            cloDefaultElementsString.Add("{font-family:Arial;font-size:9pt;color:Black;}");
            cloDefaultElementsString.Add("{color:Red;width:100%;}");
            cloDefaultElementsString.Add("{color:Green;width:100%;}");

            return (true);
        }

        public static bool InitOtherElementDetails()
        {
            cloSpecificObjects = new List<string>();
            cloSpecificObjects.Add("LEFTNAV");
            cloSpecificObjects.Add("RIGHTNAV");
            cloSpecificObjects.Add("NUMNAV");
            cloSpecificObjects.Sort();

            cloOtherElements = new List<string>();
            cloOtherElements.Add("BANNER");
            cloOtherElements.Add("FOOTER");
            cloOtherElements.Add("MENUTOP");
            cloOtherElements.Add("MAINTABLE");
            cloOtherElements.Add("DISPLAY");
            cloOtherElements.Add("DISPLAYHEADER");
            cloOtherElements.Add("MENUTOP A:LINK");
            cloOtherElements.Add("MENUTOP A:HOVER");
            cloOtherElements.Add("MENULEFT");
            cloOtherElements.Add("MENULEFT A:LINK");
            cloOtherElements.Add("MENULEFT A:HOVER");
            cloOtherElements.Add("MENULEFTNAME");
            cloOtherElements.Add("MENURIGHT");
            cloOtherElements.Add("MENURIGHT A:LINK");
            cloOtherElements.Add("MENURIGHT A:HOVER");
            cloOtherElements.Add("MENURIGHTNAME");
            cloOtherElements.Add("BOX");
            cloOtherElements.Add("BOX A:LINK");
            cloOtherElements.Add("BOX A:HOVER");
            cloOtherElements.Add("BOXTOOLBAR");
            cloOtherElements.Add("DISPLAYBOX");
            cloOtherElements.Add("DISPLAYBOX A:LINK");
            cloOtherElements.Add("DISPLAYBOX A:HOVER");
            cloOtherElements.Add("DISPLAYBOXTOOLBAR");
            cloOtherElements.Add("POLL");
            cloOtherElements.Add("POLLTOOLBAR");
            cloOtherElements.Add("POLLBAR");
            cloOtherElements.Add("POLLHYPERLINK");
            cloOtherElements.Add("POLLLISTHEADER");
            cloOtherElements.Add("FORUMMAINPAGE");
            cloOtherElements.Add("FORUMMAINLINES");
            cloOtherElements.Add("FORUMMAINHEADER");
            cloOtherElements.Add("FORUMMAINNAME");
            cloOtherElements.Add("FORUMMAINTOPICS");
            cloOtherElements.Add("FORUMMAINPOSTS");
            cloOtherElements.Add("FORUMMAINLASTPOST");
            cloOtherElements.Add("FORUMTOPICDETAILLINE");
            cloOtherElements.Add("FORUMTOPICVIEWTABLE");
            cloOtherElements.Add("FORUMMESSAGEBOX");
            cloOtherElements.Add("FORUMNAVIGATION");
            cloOtherElements.Add("MESSAGEOK");
            cloOtherElements.Add("MESSAGEERROR");
            cloOtherElements.Add("ADMINDISPLAY");
            cloOtherElements.Add("ADMINMENULEFT");
            cloOtherElements.Add("ADMINMENULEFT A:LINK");
            cloOtherElements.Add("ADMINMENULEFT A:HOVER");
            cloOtherElements.Add("MADMINMENULEFTNAME");
            cloOtherElements.Add("ADMINMENURIGHT");
            cloOtherElements.Add("ADMINMENURIGHT A:LINK");
            cloOtherElements.Add("ADMINMENURIGHT A:HOVER");
            cloOtherElements.Add("MADMINMENURIGHTNAME");
            cloOtherElements.Add("NEWSLISTNAVIGATION");
            cloOtherElements.Add("NEWSLISTTABLE");
            cloOtherElements.Add("NEWSLISTTOOLBAR");
            cloOtherElements.Add("NEWSLISTROW");
            cloOtherElements.Add("NEWS");
            cloOtherElements.Add("NEWSCONTROL");
            cloOtherElements.Sort();

            return (true);
        }

        public static bool InitAttributeDetails()
        {
            CSSAttribute loCSSAttribute;
            cloCSSAllAttributeList = new CSSAllAttributeList();
            cloCSSCurrAttributeList = new CSSCurrAttributeList();

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "font-family";
            loCSSAttribute.DisplayName = "Family";
            loCSSAttribute.AttributeType = CSSAttributeType.Font;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Arial", "Helvetica", "Times New Roman", "Tahoma", "Verdana", "Arial, Helvetica, Sans-Serif", "Times New Roman, Times, serif", "Courier New, Courier, Monospace", "Arial, Helvetica, Clean, Sans-Serif" };
            loCSSAttribute.DefaultValue = "Tahoma";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "font-size";
            loCSSAttribute.DisplayName = "Size";
            loCSSAttribute.AttributeType = CSSAttributeType.Font;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "xx-small","x-small", "small", "medium", "large", "x-large", "smaller", "larger", "inherit", "8pt", "10pt", "16pt" };
            loCSSAttribute.DefaultValue = "x-small";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "font-weight";
            loCSSAttribute.DisplayName = "Weight";
            loCSSAttribute.AttributeType = CSSAttributeType.Font;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "normal", "bold", "lighter", "bolder", "inherit", "100", "200", "300", "400", "500", "600", "700", "800", "900" };
            loCSSAttribute.DefaultValue = "normal";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "color";
            loCSSAttribute.DisplayName = "Color";
            loCSSAttribute.AttributeType = CSSAttributeType.Font;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.ColorPicker;
            loCSSAttribute.DefaultValue = "Blue";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "background-image";
            loCSSAttribute.DisplayName = "Background Image";
            loCSSAttribute.AttributeType = CSSAttributeType.Background;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.FilePath;
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "background-color";
            loCSSAttribute.DisplayName = "Background Color";
            loCSSAttribute.AttributeType = CSSAttributeType.Background;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.ColorPicker;
            loCSSAttribute.DefaultValue = "Blue";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "background-repeat";
            loCSSAttribute.DisplayName = "Repeat";
            loCSSAttribute.AttributeType = CSSAttributeType.Background;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Repeat", "No-Repeat", "Repeat-X", "Repeat-Y", "Inherit" };
            loCSSAttribute.DefaultValue = "Repeat";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "width";
            loCSSAttribute.DisplayName = "Width";
            loCSSAttribute.AttributeType = CSSAttributeType.Position;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "50px", "75px", "150px", "350px", "500px", "585px", "900px", "100%" };
            loCSSAttribute.DefaultValue = "500px";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "height";
            loCSSAttribute.DisplayName = "Height";
            loCSSAttribute.AttributeType = CSSAttributeType.Position;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "20px", "100px", "150px", "200px" };
            loCSSAttribute.DefaultValue = "100px";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-style";
            loCSSAttribute.DisplayName = "Border Style";
            loCSSAttribute.AttributeType = CSSAttributeType.Border;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Double", "Dotted", "Dashed", "Single", "Solid", "Groove", "Hidden", "Inset", "None", "Outset", "Ridge", "Inherit" };
            loCSSAttribute.DefaultValue = "Single";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-width";
            loCSSAttribute.DisplayName = "Border Width";
            loCSSAttribute.AttributeType = CSSAttributeType.Border;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Thin", "Medium", "Thick", "Inherit", "1px" };
            loCSSAttribute.DefaultValue = "thin";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-color";
            loCSSAttribute.DisplayName = "Border Color";
            loCSSAttribute.AttributeType = CSSAttributeType.Border;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.ColorPicker;
            loCSSAttribute.DefaultValue = "gray";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-right-style";
            loCSSAttribute.DisplayName = "Border Right Style";
            loCSSAttribute.AttributeType = CSSAttributeType.Border;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Double", "Dotted", "Dashed", "Single", "Solid", "Groove", "Hidden", "Inset", "None", "Outset", "Ridge", "Inherit" };
            loCSSAttribute.DefaultValue = "Single";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-right-width";
            loCSSAttribute.DisplayName = "Border Right Width";
            loCSSAttribute.AttributeType = CSSAttributeType.Border;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Thin", "Medium", "Thick", "Inherit", "1px" };
            loCSSAttribute.DefaultValue = "thin";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-right-color";
            loCSSAttribute.DisplayName = "Border Right Color";
            loCSSAttribute.AttributeType = CSSAttributeType.Border;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.ColorPicker;
            loCSSAttribute.DefaultValue = "gray";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-left-style";
            loCSSAttribute.DisplayName = "Border Left Style";
            loCSSAttribute.AttributeType = CSSAttributeType.Border;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Double", "Dotted", "Dashed", "Single", "Solid", "Groove", "Hidden", "Inset", "None", "Outset", "Ridge", "Inherit" };
            loCSSAttribute.DefaultValue = "Single";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-left-width";
            loCSSAttribute.DisplayName = "Border Left Width";
            loCSSAttribute.AttributeType = CSSAttributeType.Border;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Thin", "Medium", "Thick", "Inherit", "1px" };
            loCSSAttribute.DefaultValue = "thin";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-left-color";
            loCSSAttribute.DisplayName = "Border Left Color";
            loCSSAttribute.AttributeType = CSSAttributeType.Border;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.ColorPicker;
            loCSSAttribute.DefaultValue = "gray";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-top-style";
            loCSSAttribute.DisplayName = "Border Top Style";
            loCSSAttribute.AttributeType = CSSAttributeType.Border;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Double", "Dotted", "Dashed", "Single", "Solid", "Groove", "Hidden", "Inset", "None", "Outset", "Ridge", "Inherit" };
            loCSSAttribute.DefaultValue = "Single";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-top-width";
            loCSSAttribute.DisplayName = "Border Top Width";
            loCSSAttribute.AttributeType = CSSAttributeType.Border;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Thin", "Medium", "Thick", "Inherit", "1px" };
            loCSSAttribute.DefaultValue = "thin";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-top-color";
            loCSSAttribute.DisplayName = "Border Top Color";
            loCSSAttribute.AttributeType = CSSAttributeType.Border;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.ColorPicker;
            loCSSAttribute.DefaultValue = "gray";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-bottom-style";
            loCSSAttribute.DisplayName = "Border Bottom Style";
            loCSSAttribute.AttributeType = CSSAttributeType.Border;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Double", "Dotted", "Dashed", "Single", "Solid", "Groove", "Hidden", "Inset", "None", "Outset", "Ridge", "Inherit" };
            loCSSAttribute.DefaultValue = "Single";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-bottom-width";
            loCSSAttribute.DisplayName = "Border Bottom Width";
            loCSSAttribute.AttributeType = CSSAttributeType.Border;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Thin", "Medium", "Thick", "Inherit", "1px" };
            loCSSAttribute.DefaultValue = "thin";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-bottom-color";
            loCSSAttribute.DisplayName = "Border Bottom Color";
            loCSSAttribute.AttributeType = CSSAttributeType.Border;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.ColorPicker;
            loCSSAttribute.DefaultValue = "gray";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "text-align";
            loCSSAttribute.DisplayName = "Text Align";
            loCSSAttribute.AttributeType = CSSAttributeType.Font;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Left", "Center", "Right", "Justify", "Inherit" };
            loCSSAttribute.DefaultValue = "center";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "vertical-align";
            loCSSAttribute.DisplayName = "Vertical Align";
            loCSSAttribute.AttributeType = CSSAttributeType.Font;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Top", "Middle", "Bottom", "Baseline", "Sub", "Super", "Text-Bottom", "Text-Top", "Top", "Inherit" };
            loCSSAttribute.DefaultValue = "middle";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "padding-left";
            loCSSAttribute.DisplayName = "Padding Left";
            loCSSAttribute.AttributeType = CSSAttributeType.Padding;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "0px", "2px", "4px", "5px", "20px", "30px" };
            loCSSAttribute.DefaultValue = "0px";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "padding-right";
            loCSSAttribute.DisplayName = "Padding Right";
            loCSSAttribute.AttributeType = CSSAttributeType.Padding;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "0px", "2px", "4px", "5px", "20px", "30px" };
            loCSSAttribute.DefaultValue = "0px";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "padding-top";
            loCSSAttribute.DisplayName = "Padding Top";
            loCSSAttribute.AttributeType = CSSAttributeType.Padding;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "0px", "2px", "4px", "5px", "20px", "30px" };
            loCSSAttribute.DefaultValue = "0px";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "padding-bottom";
            loCSSAttribute.DisplayName = "Padding Bottom";
            loCSSAttribute.AttributeType = CSSAttributeType.Padding;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "0px", "2px", "4px", "5px", "20px", "30px" };
            loCSSAttribute.DefaultValue = "0px";
            cloCSSAllAttributeList.Add(loCSSAttribute);


            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "margin-left";
            loCSSAttribute.DisplayName = "Margin Left";
            loCSSAttribute.AttributeType = CSSAttributeType.Margin;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "0px", "2px", "4px", "5px", "20px", "30px" };
            loCSSAttribute.DefaultValue = "0px";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "margin-right";
            loCSSAttribute.DisplayName = "Margin Right";
            loCSSAttribute.AttributeType = CSSAttributeType.Margin;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "0px", "2px", "4px", "5px", "20px", "30px" };
            loCSSAttribute.DefaultValue = "0px";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "margin-top";
            loCSSAttribute.DisplayName = "Margin Top";
            loCSSAttribute.AttributeType = CSSAttributeType.Margin;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "0px", "2px", "4px", "5px", "20px", "30px" };
            loCSSAttribute.DefaultValue = "0px";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "margin-bottom";
            loCSSAttribute.DisplayName = "Margin Bottom";
            loCSSAttribute.AttributeType = CSSAttributeType.Margin;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "0px", "2px", "4px", "5px", "20px", "30px" };
            loCSSAttribute.DefaultValue = "0px";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "min-height";
            loCSSAttribute.DisplayName = "Min Height";
            loCSSAttribute.AttributeType = CSSAttributeType.Position;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "0px", "460px" };
            loCSSAttribute.DefaultValue = "0px";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "float";
            loCSSAttribute.DisplayName = "Float";
            loCSSAttribute.AttributeType = CSSAttributeType.Layout;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Left", "Right", "Inherit", "None" };
            loCSSAttribute.DefaultValue = "left";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "text-decoration";
            loCSSAttribute.DisplayName = "Text Decoration";
            loCSSAttribute.AttributeType = CSSAttributeType.Font;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "None", "Underline", "Overline", "Line-Through", "Blink" };
            loCSSAttribute.DefaultValue = "none";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "table-layout";
            loCSSAttribute.DisplayName = "Table-Layout";
            loCSSAttribute.AttributeType = CSSAttributeType.Table;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Auto", "Fixed", "Inherit" };
            loCSSAttribute.DefaultValue = "auto";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-collapse";
            loCSSAttribute.DisplayName = "Border-Collapse";
            loCSSAttribute.AttributeType = CSSAttributeType.Table;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Collapse", "Separate", "Inherit" };
            loCSSAttribute.DefaultValue = "inherit";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "border-spacing";
            loCSSAttribute.DisplayName = "Border-Spacing";
            loCSSAttribute.AttributeType = CSSAttributeType.Table;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Inherit", "1px", "2px", "3px" };
            loCSSAttribute.DefaultValue = "inherit";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "empty-cells";
            loCSSAttribute.DisplayName = "Empty-Cells";
            loCSSAttribute.AttributeType = CSSAttributeType.Table;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Hide", "Show", "Inherit" };
            loCSSAttribute.DefaultValue = "inherit";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "caption-side";
            loCSSAttribute.DisplayName = "Caption-Side";
            loCSSAttribute.AttributeType = CSSAttributeType.Table;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Top", "Bottom", "Inherit" };
            loCSSAttribute.DefaultValue = "inherit";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "list-style-type";
            loCSSAttribute.DisplayName = "List-Style-Type";
            loCSSAttribute.AttributeType = CSSAttributeType.List;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Disc", "Circle", "Square", "Decimal", "Decimal-Leading-Zero", "Lower-Roman", "Upper-Roman", "Lower-Greek", "Upper-Greek", "Lower-Latin", "Upper-Latin", "None", "Inherit" };
            loCSSAttribute.DefaultValue = "inherit";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "list-style-image";
            loCSSAttribute.DisplayName = "List-Style-Image";
            loCSSAttribute.AttributeType = CSSAttributeType.Table;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.FilePath;
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "list-style-position";
            loCSSAttribute.DisplayName = "List-Style-Position";
            loCSSAttribute.AttributeType = CSSAttributeType.Table;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Inside", "Outside", "Inherit" };
            loCSSAttribute.DefaultValue = "inherit";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "visibility";
            loCSSAttribute.DisplayName = "Visibility";
            loCSSAttribute.AttributeType = CSSAttributeType.Layout;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Collapse", "Hidden", "Visible", "Inherit" };
            loCSSAttribute.DefaultValue = "inherit";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "display";
            loCSSAttribute.DisplayName = "Display";
            loCSSAttribute.AttributeType = CSSAttributeType.Layout;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Block", "Inline", "Inherit", "Inline-Block", "Inline-Table", "List-Item", "None", "Run-in", "Table" };
            loCSSAttribute.DefaultValue = "inherit";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "list-style-position";
            loCSSAttribute.DisplayName = "List-Style-Position";
            loCSSAttribute.AttributeType = CSSAttributeType.Table;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Inside", "Outside", "Inherit" };
            loCSSAttribute.DefaultValue = "inherit";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "clear";
            loCSSAttribute.DisplayName = "Clear";
            loCSSAttribute.AttributeType = CSSAttributeType.Layout;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Left", "Right", "Inherit", "None", "Both" };
            loCSSAttribute.DefaultValue = "inherit";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "cursor";
            loCSSAttribute.DisplayName = "Cursor";
            loCSSAttribute.AttributeType = CSSAttributeType.Layout;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Auto", "Crosshair", "Default", "E-Resize", "Help", "Move", "Pointer", "Progress", "Text", "Wait", "Inherit" };
            loCSSAttribute.DefaultValue = "inherit";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "overflow";
            loCSSAttribute.DisplayName = "Overflow";
            loCSSAttribute.AttributeType = CSSAttributeType.Layout;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Auto", "Hidden", "Scroll", "Visible", "Inherit" };
            loCSSAttribute.DefaultValue = "inherit";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "position";
            loCSSAttribute.DisplayName = "-Position";
            loCSSAttribute.AttributeType = CSSAttributeType.Position;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Absolute", "Fixed", "Relative", "Static", "Inherit" };
            loCSSAttribute.DefaultValue = "inherit";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "z-index";
            loCSSAttribute.DisplayName = "Z-Index";
            loCSSAttribute.AttributeType = CSSAttributeType.Position;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Auto", "Inherit" };
            loCSSAttribute.DefaultValue = "inherit";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "font-style";
            loCSSAttribute.DisplayName = "Font-Style";
            loCSSAttribute.AttributeType = CSSAttributeType.Font;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Italic", "Norma", "Inherit", "Oblique" };
            loCSSAttribute.DefaultValue = "normal";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "font-variant";
            loCSSAttribute.DisplayName = "Font-Variant";
            loCSSAttribute.AttributeType = CSSAttributeType.Font;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "Normal", "Small-Caps", "Inherit" };
            loCSSAttribute.DefaultValue = "normal";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            loCSSAttribute = new CSSAttribute();
            loCSSAttribute.ActualName = "text-transform";
            loCSSAttribute.DisplayName = "Text-Transform";
            loCSSAttribute.AttributeType = CSSAttributeType.Font;
            loCSSAttribute.TargetType = CSSTargetType.SimpleHtml;
            loCSSAttribute.ValueSource = CSSValueSource.List;
            loCSSAttribute.AllowedValues = new string[] { "None", "Inherit", "Capitalize", "Lowercase", "Uppercase" };
            loCSSAttribute.DefaultValue = "None";
            cloCSSAllAttributeList.Add(loCSSAttribute);

            CSSString.SortAttributeList("master");
            return (true);
        }

        public static string [] LoadAttributes()
        {
            CSSString objCSSString = new CSSString();
            return (objCSSString.CSSAttributes);
        }
    }
}

