private void SaveMembersToHTML(Type t, ElemKind kind)
		{
			string name = HelpUtils.get_type_name(t);
			string _name = name;
			switch (kind)
			{
				case ElemKind.Property : _name += "Members$Properties.html"; break;
				case ElemKind.Method : _name += "Members$Methods.html"; break;
				case ElemKind.Constructor : _name += "Members$Constructors.html"; break;
				case ElemKind.Field : _name += "Members$Fields.html"; break;
				case ElemKind.Event : _name += "Members$Events.html"; break;
				case ElemKind.ClassConstant : _name += "Members$ClassConstants.html"; break;
				default : _name += "Members.html"; break;
			}
			StreamWriter sw = new StreamWriter(Path.Combine(output_dir,_name),false,System.Text.Encoding.GetEncoding(1251));
			if (kind == ElemKind.None)
			elems.Add(new ItemInfo(name+"Members.html",HelpUtils.get_localization("CLASS")+" "+name));
			WriteBanner(sw);
			sw.WriteLine("<div id=\"TitleRow\">");
			if (t.IsEnum)
  			sw.WriteLine("<h1 class=\"dtH1\">"+HelpUtils.get_localization("TYPE_MEMBERS")+" "+name+"</h1>");
			else if (t.IsValueType)
			sw.WriteLine("<h1 class=\"dtH1\">"+HelpUtils.get_localization("RECORD_MEMBERS")+" "+name+"</h1>");
			else if (t.IsInterface)
			sw.WriteLine("<h1 class=\"dtH1\">"+HelpUtils.get_localization("INTERFACE_MEMBERS")+" "+name+"</h1>");
			else if (t.IsClass)
			sw.WriteLine("<h1 class=\"dtH1\">"+HelpUtils.get_localization("CLASS_MEMBERS")+" "+name+"</h1>");
  			sw.WriteLine("</div></div>");
  			sw.WriteLine("<div id=\"nstext\">");
  			sw.WriteLine("<p><a href=\""+name+".html"+"\">"+ HelpUtils.get_localization("PREVIEW")+" "+t.Name+"</a></p>");
  			ConstructorInfo[] constrs = GetNonPrivateConstructors(t);
  			if (constrs.Length > 0 && (kind == ElemKind.None || kind == ElemKind.Constructor))
  			{
  				sw.WriteLine("<h4 class=\"dtH4\">"+HelpUtils.get_localization("CONSTRUCTORS")+"</h4>");
  				sw.WriteLine("<div class=\"tablediv\">");
  				sw.WriteLine("<table class=\"dtTABLE\" cellspacing=\"2\">");
  				WriteNameDescriptionHeaderForTable(sw);
  				sw.WriteLine("<td width=\"50%\">");
  				sw.WriteLine("<img src=\"pubmethod.gif\" />");
  				if (constrs.Length == 1)
  				sw.WriteLine("<a href=\""+HelpUtils.get_meth_name(constrs[0])+".html\">Create</a>");
  				else
  				sw.WriteLine("<a href=\""+HelpUtils.get_meth_name(constrs[0])+"$overloads"+".html\">Create</a>");
  				sw.WriteLine("</td>");
  				sw.Write("<td width=\"50%\">");
  				if (constrs.Length == 1)
  					sw.Write(HelpUtils.get_summary(HelpUtils.GetDocumentation(constrs[0])));
  				else
  					sw.Write(HelpUtils.get_localization("OVERLOADED_CONSTRUCTOR")+" "+t.Name);
  				sw.WriteLine("</td>");
  				sw.WriteLine("</tr></table></div>");
  			}
  			
  			
  			PropertyInfo[] props = GetProperties(t, field_access_level.fal_public);
            if (props.Length > 0 && (kind == ElemKind.None || kind == ElemKind.Property))
            {
                sw.WriteLine("<h4 class=\"dtH4\">" + HelpUtils.get_localization("PUBLIC_PROPERTIES") + "</h4>");
                sw.WriteLine("<div class=\"tablediv\">");
                sw.WriteLine("<table class=\"dtTABLE\" cellspacing=\"2\">");
                WriteNameDescriptionHeaderForTable(sw);
                foreach (PropertyInfo prop in props)
                {
                    if (!HelpUtils.can_write(prop))
                        continue;
                    sw.Write("<tr VALIGN=\"top\"><td width=\"50%\"><img src=\"pubproperty.gif\"></img>");
                    if (prop.GetGetMethod() != null && prop.GetGetMethod().IsStatic)
                        sw.Write("<img src=\"static.gif\"></img>");
                    sw.Write("<a href=\"" + HelpUtils.get_prop_name(prop) + ".html\">" + prop.Name + "</a>");
                    sw.Write("</td>");
                    sw.Write("<td width=\"50%\">");
                    string doc = HelpUtils.get_summary(HelpUtils.GetDocumentation(prop));
                    sw.Write(doc);
                    if (prop.DeclaringType != t)
                        sw.Write((doc == HelpUtils.HTMLSpace ? "(" : " (") + HelpUtils.get_localization("INHERITED_FROM") + " " + HelpUtils.get_type_html_text(prop.DeclaringType) + ")");
                    sw.WriteLine("</td></tr>");
                }
                sw.WriteLine("</table>");
                sw.WriteLine("</div>");
            }
  			
  			MethodInfo[] meths = GetMethods(t, field_access_level.fal_public);
            if (meths.Length > 0 && (kind == ElemKind.None || kind == ElemKind.Method))
            {
                sw.WriteLine("<h4 class=\"dtH4\">" + HelpUtils.get_localization("PUBLIC_METHODS") + "</h4>");
                sw.WriteLine("<div class=\"tablediv\">");
                sw.WriteLine("<table class=\"dtTABLE\" cellspacing=\"2\">");
                WriteNameDescriptionHeaderForTable(sw);
                foreach (MethodInfo meth in meths)
                {
                    if (!HelpUtils.can_write(meth))
                        continue;
                    int ind = GetMethodIndex(meth, t);
                    if (is_overload(meth, t) && ind > 1)
                        continue;
                    sw.Write("<tr VALIGN=\"top\"><td width=\"50%\"><img src=\"pubmethod.gif\"></img>");
                    if (meth.IsStatic)
                        sw.Write("<img src=\"static.gif\"></img>");
                    if (is_overload(meth, t))
                        sw.Write("<a href=\"" + HelpUtils.get_meth_name(meth) + ".html\">" + meth.Name + "</a>");
                    else
                    {
                        sw.Write("<a href=\"" + HelpUtils.get_meth_name(meth) + "$overloads" + ".html\">" + meth.Name + "</a>");
                    }
                    sw.Write("</td>");
                    sw.Write("<td width=\"50%\">");
                    if (is_overload(meth, t))
                        sw.Write(HelpUtils.get_localization("OVERLOADED") + " ");
                    string doc = HelpUtils.get_summary(HelpUtils.GetDocumentation(meth));
                    sw.Write(doc);
                    if (meth.DeclaringType != t)
                        sw.Write((doc == HelpUtils.HTMLSpace ? "(" : " (") + HelpUtils.get_localization("INHERITED_FROM") + " " + HelpUtils.get_type_html_text(meth.DeclaringType) + ")");
                    sw.WriteLine("</td></tr>");
                }
                sw.WriteLine("</table>");
                sw.WriteLine("</div>");
            }
  			
  			FieldInfo[] fields = GetFields(t, field_access_level.fal_public);
            if (fields.Length > 0 && (kind == ElemKind.None || kind == ElemKind.Field))
            {
                sw.WriteLine("<h4 class=\"dtH4\">" + HelpUtils.get_localization("PUBLIC_FIELDS") + "</h4>");
                sw.WriteLine("<div class=\"tablediv\">");
                sw.WriteLine("<table class=\"dtTABLE\" cellspacing=\"2\">");
                WriteNameDescriptionHeaderForTable(sw);
                foreach (FieldInfo fld in fields)
                {
                    if (!HelpUtils.can_write(fld))
                        continue;
                    sw.Write("<tr VALIGN=\"top\"><td width=\"50%\"><img src=\"pubfield.gif\"></img>");
                    if (fld.IsStatic)
                        sw.Write("<img src=\"static.gif\"></img>");
                    sw.Write("<a href=\"" + HelpUtils.get_field_name(fld) + ".html\">" + fld.Name + "</a>");
                    sw.Write("</td>");
                    sw.Write("<td width=\"50%\">");
                    string doc = HelpUtils.get_summary(HelpUtils.GetDocumentation(fld));
                    sw.Write(doc);
                    if (fld.DeclaringType != t)
                        sw.Write((doc == HelpUtils.HTMLSpace ? "(" : " (") + HelpUtils.get_localization("INHERITED_FROM") + " " + HelpUtils.get_type_html_text(fld.DeclaringType) + ")");
                    sw.WriteLine("</td></tr>");
                }
                sw.WriteLine("</table>");
                sw.WriteLine("</div>");
            }
  			
  			EventInfo[] events = GetEvents(t, field_access_level.fal_public);
            if (events.Length > 0 && (kind == ElemKind.None || kind == ElemKind.Event))
            {
                sw.WriteLine("<h4 class=\"dtH4\">" + HelpUtils.get_localization("PUBLIC_EVENTS") + "</h4>");
                sw.WriteLine("<div class=\"tablediv\">");
                sw.WriteLine("<table class=\"dtTABLE\" cellspacing=\"2\">");
                WriteNameDescriptionHeaderForTable(sw);
                foreach (EventInfo e in events)
                {
                    if (!HelpUtils.can_write(e))
                        continue;
                    sw.Write("<tr valign=\"top\"><td width=\"50%\"><img src=\"pubevent.gif\"></img>");
                    if (e.GetAddMethod().IsStatic)
                        sw.Write("<img src=\"static.gif\"></img>");
                    sw.Write("<a href=\"" + HelpUtils.get_event_name(e) + ".html\">" + e.Name + "</a>");
                    sw.Write("</td>");
                    sw.Write("<td width=\"50%\">");
                    string doc = HelpUtils.get_summary(HelpUtils.GetDocumentation(e));
                    sw.Write(doc);
                    if (e.DeclaringType != t)
                        sw.Write((doc == HelpUtils.HTMLSpace ? "(" : " (") + HelpUtils.get_localization("INHERITED_FROM") + " " + HelpUtils.get_type_html_text(e.DeclaringType) + ")");
                    sw.WriteLine("</td></tr>");
                }
                sw.WriteLine("</table>");
                sw.WriteLine("</div>");
            }
  			
  			//internal
  			props = GetProperties(t, field_access_level.fal_internal);
            if (props.Length > 0 && (kind == ElemKind.None || kind == ElemKind.Property))
            {
                sw.WriteLine("<h4 class=\"dtH4\">" + HelpUtils.get_localization("INTERNAL_PROPERTIES") + "</h4>");
                sw.WriteLine("<div class=\"tablediv\">");
                sw.WriteLine("<table class=\"dtTABLE\" cellspacing=\"2\">");
                WriteNameDescriptionHeaderForTable(sw);
                foreach (PropertyInfo prop in props)
                {
                    if (!HelpUtils.can_write(prop))
                        continue;
                    sw.Write("<tr VALIGN=\"top\"><td width=\"50%\"><img src=\"intproperty.gif\"></img>");
                    if (prop.GetGetMethod() != null && prop.GetGetMethod().IsStatic)
                        sw.Write("<img src=\"static.gif\"></img>");
                    sw.Write("<a href=\"" + HelpUtils.get_prop_name(prop) + ".html\">" + prop.Name + "</a>");
                    sw.Write("</td>");
                    sw.Write("<td width=\"50%\">");
                    string doc = HelpUtils.get_summary(HelpUtils.GetDocumentation(prop));
                    sw.Write(doc);
                    if (prop.DeclaringType != t)
                        sw.Write((doc == HelpUtils.HTMLSpace ? "(" : " (") + HelpUtils.get_localization("INHERITED_FROM") + " " + HelpUtils.get_type_html_text(prop.DeclaringType) + ")");
                    sw.WriteLine("</td></tr>");
                }
                sw.WriteLine("</table>");
                sw.WriteLine("</div>");
            }
  			
  			meths = GetMethods(t, field_access_level.fal_internal);
            if (meths.Length > 0 && (kind == ElemKind.None || kind == ElemKind.Method))
            {
                sw.WriteLine("<h4 class=\"dtH4\">" + HelpUtils.get_localization("INTERNAL_METHODS") + "</h4>");
                sw.WriteLine("<div class=\"tablediv\">");
                sw.WriteLine("<table class=\"dtTABLE\" cellspacing=\"2\">");
                WriteNameDescriptionHeaderForTable(sw);
                foreach (MethodInfo meth in meths)
                {
                    if (!HelpUtils.can_write(meth))
                        continue;
                    int ind = GetMethodIndex(meth, t);
                    if (is_overload(meth, t) && ind > 1)
                        continue;
                    sw.Write("<tr VALIGN=\"top\"><td width=\"50%\"><img src=\"intmethod.gif\"></img>");
                    if (meth.IsStatic)
                        sw.Write("<img src=\"static.gif\"></img>");
                    if (!is_overload(meth, t))
                        sw.Write("<a href=\"" + HelpUtils.get_meth_name(meth) + ".html\">" + meth.Name + "</a>");
                    else
                    {
                        sw.Write("<a href=\"" + HelpUtils.get_meth_name(meth) + "$overloads" + ".html\">" + meth.Name + "</a>");
                    }
                    sw.Write("</td>");
                    sw.Write("<td width=\"50%\">");
                    if (is_overload(meth, t))
                        sw.Write(HelpUtils.get_localization("OVERLOADED") + " ");
                    string doc = HelpUtils.get_summary(HelpUtils.GetDocumentation(meth));
                    sw.Write(doc);
                    if (meth.DeclaringType != t)
                        sw.Write((doc == HelpUtils.HTMLSpace ? "(" : " (") + HelpUtils.get_localization("INHERITED_FROM") + " " + HelpUtils.get_type_html_text(meth.DeclaringType) + ")");
                    sw.WriteLine("</td></tr>");
                }
                sw.WriteLine("</table>");
                sw.WriteLine("</div>");
            }
  			
  			fields = GetFields(t, field_access_level.fal_internal);
            if (fields.Length > 0 && (kind == ElemKind.None || kind == ElemKind.Field))
            {
                sw.WriteLine("<h4 class=\"dtH4\">" + HelpUtils.get_localization("INTERNAL_FIELDS") + "</h4>");
                sw.WriteLine("<div class=\"tablediv\">");
                sw.WriteLine("<table class=\"dtTABLE\" cellspacing=\"2\">");
                WriteNameDescriptionHeaderForTable(sw);
                foreach (FieldInfo fld in fields)
                {
                    if (!HelpUtils.can_write(fld))
                        continue;
                    sw.Write("<tr VALIGN=\"top\"><td width=\"50%\"><img src=\"intfield.gif\"></img>");
                    if (fld.IsStatic)
                        sw.Write("<img src=\"static.gif\"></img>");
                    sw.Write("<a href=\"" + HelpUtils.get_field_name(fld) + ".html\">" + fld.Name + "</a>");
                    sw.Write("</td>");
                    sw.Write("<td width=\"50%\">");
                    string doc = HelpUtils.get_summary(HelpUtils.GetDocumentation(fld));
                    sw.Write(doc);
                    if (fld.DeclaringType != t)
                        sw.Write((doc == HelpUtils.HTMLSpace ? "(" : " (") + HelpUtils.get_localization("INHERITED_FROM") + " " + HelpUtils.get_type_html_text(fld.DeclaringType) + ")");
                    sw.WriteLine("</td></tr>");
                }
                sw.WriteLine("</table>");
                sw.WriteLine("</div>");
            }
  			
  			events = GetEvents(t, field_access_level.fal_internal);
            if (events.Length > 0 && (kind == ElemKind.None || kind == ElemKind.Event))
            {
                sw.WriteLine("<h4 class=\"dtH4\">" + HelpUtils.get_localization("INTERNAL_EVENTS") + "</h4>");
                sw.WriteLine("<div class=\"tablediv\">");
                sw.WriteLine("<table class=\"dtTABLE\" cellspacing=\"2\">");
                WriteNameDescriptionHeaderForTable(sw);
                foreach (EventInfo e in events)
                {
                    if (!HelpUtils.can_write(e))
                        continue;
                    sw.Write("<tr VALIGN=\"top\"><td width=\"50%\"><img src=\"intevent.gif\"></img>");
                    if (e.GetAddMethod().IsStatic)
                        sw.Write("<img src=\"static.gif\"></img>");
                    sw.Write("<a href=\"" + HelpUtils.get_event_name(e) + ".html\">" + e.Name + "</a>");
                    sw.Write("</td>");
                    sw.Write("<td width=\"50%\">");
                    string doc = HelpUtils.get_summary(HelpUtils.GetDocumentation(e));
                    sw.Write(doc);
                    if (e.DeclaringType != t)
                        sw.Write((doc == HelpUtils.HTMLSpace ? "(" : " (") + HelpUtils.get_localization("INHERITED_FROM") + " " + HelpUtils.get_type_html_text(e.DeclaringType) + ")");
                    sw.WriteLine("</td></tr>");
                }
                sw.WriteLine("</table>");
                sw.WriteLine("</div>");
            }
  				
  			//protected
  			props = GetProperties(t, field_access_level.fal_protected);
            if (props.Length > 0 && (kind == ElemKind.None || kind == ElemKind.Property))
            {
                sw.WriteLine("<h4 class=\"dtH4\">" + HelpUtils.get_localization("PROTECTED_FIELDS") + "</h4>");
                sw.WriteLine("<div class=\"tablediv\">");
                sw.WriteLine("<table class=\"dtTABLE\" cellspacing=\"2\">");
                WriteNameDescriptionHeaderForTable(sw);
                foreach (PropertyInfo prop in props)
                {
                    if (!HelpUtils.can_write(prop))
                        continue;
                    sw.Write("<tr VALIGN=\"top\"><td width=\"50%\"><img src=\"protproperty.gif\"></img>");
                    if (prop.GetGetMethod(true).IsStatic)
                        sw.Write("<img src=\"static.gif\"></img>");
                    sw.Write("<a href=\"" + HelpUtils.get_prop_name(prop) + ".html\">" + prop.Name + "</a>");
                    sw.Write("</td>");
                    sw.Write("<td width=\"50%\">");
                    string doc = HelpUtils.get_summary(HelpUtils.GetDocumentation(prop));
                    sw.Write(doc);
                    if (prop.DeclaringType != t)
                        sw.Write((doc == HelpUtils.HTMLSpace ? "(" : " (") + HelpUtils.get_localization("INHERITED_FROM") + " " + HelpUtils.get_type_html_text(prop.DeclaringType) + ")");
                    sw.WriteLine("</td></tr>");
                }
                sw.WriteLine("</table>");
                sw.WriteLine("</div>");
            }
  			
  			meths = GetMethods(t, field_access_level.fal_protected);
            if (meths.Length > 0 && (kind == ElemKind.None || kind == ElemKind.Method))
            {
                sw.WriteLine("<h4 class=\"dtH4\">" + HelpUtils.get_localization("PROTECTED_METHODS") + "</h4>");
                sw.WriteLine("<div class=\"tablediv\">");
                sw.WriteLine("<table class=\"dtTABLE\" cellspacing=\"2\">");
                WriteNameDescriptionHeaderForTable(sw);
                foreach (MethodInfo meth in meths)
                {
                    if (!HelpUtils.can_write(meth))
                        continue;
                    int ind = GetMethodIndex(meth, t);
                    if (is_overload(meth, t) && ind > 1)
                        continue;
                    sw.Write("<tr VALIGN=\"top\"><td width=\"50%\"><img src=\"protmethod.gif\"></img>");
                    if (meth.IsStatic)
                        sw.Write("<img src=\"static.gif\"></img>");
                    if (!is_overload(meth, t))
                        sw.Write("<a href=\"" + HelpUtils.get_meth_name(meth) + ".html\">" + meth.Name + "</a>");
                    else
                    {
                        sw.Write("<a href=\"" + HelpUtils.get_meth_name(meth) + "$overloads" + ".html\">" + meth.Name + "</a>");
                    }
                    sw.Write("</td>");
                    sw.Write("<td width=\"50%\">");
                    if (is_overload(meth, t))
                        sw.Write(HelpUtils.get_localization("OVERLOADED") + " ");
                    string doc = HelpUtils.get_summary(HelpUtils.GetDocumentation(meth));
                    sw.Write(doc);
                    if (meth.DeclaringType != t)
                        sw.Write((doc == HelpUtils.HTMLSpace ? "(" : " (") + HelpUtils.get_localization("INHERITED_FROM") + " " + HelpUtils.get_type_html_text(meth.DeclaringType) + ")");
                    sw.WriteLine("</td></tr>");
                }
                sw.WriteLine("</table>");
                sw.WriteLine("</div>");
            }
  			
  			fields = GetFields(t, field_access_level.fal_protected);
            if (fields.Length > 0 && (kind == ElemKind.None || kind == ElemKind.Field))
            {
                sw.WriteLine("<h4 class=\"dtH4\">" + HelpUtils.get_localization("PROTECTED_FIELDS") + "</h4>");
                sw.WriteLine("<div class=\"tablediv\">");
                sw.WriteLine("<table class=\"dtTABLE\" cellspacing=\"2\">");
                WriteNameDescriptionHeaderForTable(sw);
                foreach (FieldInfo fld in fields)
                {
                    if (!HelpUtils.can_write(fld))
                        continue;
                    sw.Write("<tr VALIGN=\"top\"><td width=\"50%\"><img src=\"protfield.gif\"></img>");
                    if (fld.IsStatic)
                        sw.Write("<img src=\"static.gif\"></img>");
                    sw.Write("<a href=\"" + HelpUtils.get_field_name(fld) + ".html\">" + fld.Name + "</a>");
                    sw.Write("</td>");
                    sw.Write("<td width=\"50%\">");
                    string doc = HelpUtils.get_summary(HelpUtils.GetDocumentation(fld));
                    sw.Write(doc);
                    if (fld.DeclaringType != t)
                        sw.Write((doc == HelpUtils.HTMLSpace ? "(" : " (") + HelpUtils.get_localization("INHERITED_FROM") + " " + HelpUtils.get_type_html_text(fld.DeclaringType) + ")");
                    sw.WriteLine("</td></tr>");
                }
                sw.WriteLine("</table>");
                sw.WriteLine("</div>");
            }
  			
  			events = GetEvents(t, field_access_level.fal_protected);
            if (events.Length > 0 && (kind == ElemKind.None || kind == ElemKind.Event))
            {
                sw.WriteLine("<h4 class=\"dtH4\">" + HelpUtils.get_localization("PROTECTED_EVENTS") + "</h4>");
                sw.WriteLine("<div class=\"tablediv\">");
                sw.WriteLine("<table class=\"dtTABLE\" cellspacing=\"2\">");
                WriteNameDescriptionHeaderForTable(sw);
                foreach (EventInfo e in events)
                {
                    if (!HelpUtils.can_write(e))
                        continue;
                    sw.Write("<tr VALIGN=\"top\"><td width=\"50%\"><img src=\"protevent.gif\"></img>");
                    if (e.GetAddMethod(true).IsStatic)
                        sw.Write("<img src=\"static.gif\"></img>");
                    sw.Write("<a href=\"" + HelpUtils.get_event_name(e) + ".html\">" + e.Name + "</a>");
                    sw.Write("</td>");
                    sw.Write("<td width=\"50%\">");
                    string doc = HelpUtils.get_summary(HelpUtils.GetDocumentation(e));
                    sw.Write(doc);
                    if (e.DeclaringType != t)
                        sw.Write((doc == HelpUtils.HTMLSpace ? "(" : " (") + HelpUtils.get_localization("INHERITED_FROM") + " " + HelpUtils.get_type_html_text(e.DeclaringType) + ")");
                    sw.WriteLine("</td></tr>");
                }
                sw.WriteLine("</table>");
                sw.WriteLine("</div>");
            }
  			
  			sw.WriteLine("</div></body></html>");
  			sw.Close();
		}
		private void SaveUnitMembers(Assembly a, ElemKind kind)
		{
			string _unit_name = unit_name;
			switch (kind)
			{
				case ElemKind.Class : _unit_name += "$Classes"; break;
				case ElemKind.EnumRecord : _unit_name += "$Records"; break;
				case ElemKind.Type : _unit_name += "$Types"; break;
				case ElemKind.Variable : _unit_name += "$Variables"; break;
				case ElemKind.Subroutine : _unit_name += "$Subroutines"; break;
				case ElemKind.Const : _unit_name += "$Constants"; break;
				case ElemKind.Interface : _unit_name += "$Interfaces"; break;
			}
			string _full_unit_name = Path.Combine(output_dir,_unit_name+".html");
			StreamWriter sw = new StreamWriter(_full_unit_name,false,System.Text.Encoding.GetEncoding(1251));
  			WriteBanner(sw);
  			if (kind == ElemKind.None)
  			elems.Add(new ItemInfo(unit_name+".html",HelpUtils.get_localization("UNIT")+" "+unit_name));
  			sw.WriteLine("<div id=\"TitleRow\">");
  			sw.WriteLine("<h1 class=\"dtH1\">"+HelpUtils.get_localization("UNIT")+" "+unit_name+"</h1>");
  			sw.WriteLine("</div></div>");
  			if (kind == ElemKind.None)
  			{
  				sw.WriteLine("<div id=\"nstext\">");
  				if (!string.IsNullOrEmpty(unit_desc) && unit_desc != Convert.ToString((char)0xA0))
  				sw.WriteLine("<h4 class=\"dtH4\">"+HelpUtils.get_localization("DESCRIPTION")+"</h4>");
  				if (!string.IsNullOrEmpty(unit_desc) && unit_desc != Convert.ToString((char)0xA0))
  				sw.WriteLine("<p>"+unit_desc+"</p>");
  				sw.WriteLine("</div>");
  			}
  			//klassy
  			Type[] _classes = GetClasses(a);
            if (_classes.Length > 0 && (kind == ElemKind.None || kind == ElemKind.Class))
            {
                WriteTableHeader(sw, HelpUtils.get_localization("CLASSES"));
                WriteNameDescriptionHeaderForTable(sw);
                foreach (Type t in _classes)
                {
                    if (!HelpUtils.can_write(t))
                        continue;
                    sw.WriteLine("<tr valign=\"top\">");
                    sw.WriteLine("<td width=\"50%\">");
                    sw.WriteLine("<img src=\"pubclass.gif\" />");
                    sw.WriteLine("<a href=\"" + HelpUtils.get_type_name(t) + ".html" + "\">" + HelpUtils.build_name_with_possible_generic(t, true) + "</a>");
                    sw.WriteLine("</td>");
                    sw.WriteLine("<td width=\"50%\">" + HelpUtils.get_summary(HelpUtils.GetDocumentation(t)) + "</td>");
                    sw.WriteLine("</tr>");
                }
                WriteFooterTable(sw);
            }
  			
  			Type[] _interfaces = GetInterfaces(a);
            if (_interfaces.Length > 0 && (kind == ElemKind.None || kind == ElemKind.Interface))
            {
                WriteTableHeader(sw, HelpUtils.get_localization("INTERFACES"));
                WriteNameDescriptionHeaderForTable(sw);
                foreach (Type t in _interfaces)
                {
                    if (!HelpUtils.can_write(t))
                        continue;
                    sw.WriteLine("<tr valign=\"top\">");
                    sw.WriteLine("<td width=\"50%\">");
                    sw.WriteLine("<img src=\"pubinterface.gif\" />");
                    sw.WriteLine("<a href=\"" + HelpUtils.get_type_name(t) + ".html" + "\">" + HelpUtils.build_name_with_possible_generic(t, true) + "</a>");
                    sw.WriteLine("</td>");
                    sw.WriteLine("<td width=\"50%\">" + HelpUtils.get_summary(HelpUtils.GetDocumentation(t)) + "</td>");
                    sw.WriteLine("</tr>");
                }
                WriteFooterTable(sw);
            }
  			
  			Type[] _enum_recs = GetEnumsRecords(a);
            if (_enum_recs.Length > 0 && (kind == ElemKind.None || kind == ElemKind.EnumRecord))
            {
                WriteTableHeader(sw, HelpUtils.get_localization("ENUMS_RECORDS"));
                WriteNameDescriptionHeaderForTable(sw);
                foreach (Type t in _enum_recs)
                {
                    if (!HelpUtils.can_write(t))
                        continue;
                    sw.WriteLine("<tr valign=\"top\">");
                    sw.WriteLine("<td width=\"50%\">");

                    if (t.IsEnum)
                        sw.WriteLine("<img src=\"pubenum.gif\" />");
                    else if (t.IsValueType)
                        sw.WriteLine("<img src=\"pubstructure.gif\" />");
                    sw.WriteLine("<a href=\"" + HelpUtils.get_type_name(t) + ".html" + "\">" + HelpUtils.build_name_with_possible_generic(t, true) + "</a>");
                    sw.WriteLine("</td>");
                    sw.WriteLine("<td width=\"50%\">" + HelpUtils.get_summary(HelpUtils.GetDocumentation(t)) + "</td>");
                    sw.WriteLine("</tr>");
                }
                WriteFooterTable(sw);
            }
  			
  			sw.WriteLine("</body>");
  			sw.WriteLine("</html>");
  			sw.Close();
		}