var data = new Array();
var ids = new Array();
var win = new Array();

var gecko = new Array();

function filldata() {
	//zzzz = blank line
	//zzzy = properties
	//zzzx = methods
	//zzzw = attributes
	//zzzv = events

	data.push("zaaa`HTML 4.01 Tags`{<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">}`zaab^zaac^zaad^zaae^zaag");
	data.push("zbaa`CSS 2 Attributes``zbaj^zbab^zbac^zbad^zbae^zbaf^zbag^zbah^zbai");
	data.push("zcaa`DOM 2 Members``zcna^zcnb^zcnc^zcnd^zcne^zcnf^zcng");
	data.push("zeaa`Javascript 1.5 Objects``");

	data.push("zaab`a_Common Tags``zaba^zabb^zabc^zabd^zabe^zabg^zabh^zabi^zabj^zadw^zabl^zabo^zabp^zabr^zabs^zabu");
	data.push("zaag`b_Form Tags``zabf^zabk^zabm^zabn^zabq^zabt^zadu^zadq");
	data.push("zaac`c_Table Tags``zabv^zabw^zabx^zaby^zabz^zaca^zacb^zacc^zacd");
	data.push("zaad`d_Formatting Tags``zace^zacf^zacg^zach^zaci^zacj^zack^zacl^zacm^zacn^zaco^zacp^zacq^zacr^zacs^zact^zacu^zacv^zacw^zacx^zacy^zacz^zada^zadb^zadc^zadd^zade^zadf^zadg^zadh^zadi^zadj");
	data.push("zaae`e_More Tags``zadk^zadl^zadm^zadn^zado^zadp^zadr^zads^zadt^zadv^zadx^zady^zadz^zaea^zaeb^zaec");

	data.push("zaba`<a></a>`anchor (link)`zzzw^aabx^aabj^aabk^aadg^aacc^aacd^aaao^aabm^aaar^aabp^aabc^aact^aacp^aack^aaax^aacs^aacr^aaad^zzzz^zzzv^aadp^aadm^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabb`<body></body>`document content`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aads^aaeb^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabc`<br>`forced line break`zzzw^aabm^aaar^aact^aacp");
	data.push("zabd`<button></button>`button control`zzzw^aabx^aacv^aadf^aabd^aaad^aacr^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadp^aadm^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabe`<div></div>`generic style container`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabf`<form></form>`interactive form`zzzw^aaae^aabv^aabe^aaac^aaab^aabx^aacs^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aaea^aady^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabg`<head></head>`document definition`zzzw^aaca^aabp^aabc");
	data.push("zabh`<hr>`horizontal rule`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabi`<html>`</html>`root element`zzzw^aabp^aabc");
	data.push("zabj`<img>`image`zzzw^aacn^aabq^aabx^aaag^aabn^aacx^aadd^aade^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabk`<input>`form control`zzzw^aadh^aabx^aacv^aacl^aabt^aaap^aacn^aaag^aaab^aacb^aabd^aacr^aaad^aacx^aabn^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadp^aadm^aadz^aadn^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabl`<meta>`document metadata`zzzw^aabx^aaaw^aacg^aabl^aabp^aabc");
	data.push("zabm`<optgroup></optgroup>`option group`zzzw^aabo^aabd^aacr^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabn`<option></option>`selectable option`zzzw^aacj^aacv^aabo^aabd^aacr^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabo`<p></p>`paragraph`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabp`<script></script>`scripting`zzzw^aacn^aadg^aabb^aaao");
	data.push("zabq`<select></select>`option selector control`zzzw^aabx^aacl^aabw^aabd^aacr^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadn^aadp^aadm^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabr`<span></span>`inline generic style container`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabs`<style></style>`style information`zzzw^aadg^aabu^aabp^aabc^aact");
	data.push("zabt`<textarea></textarea>`multi-line text box`zzzw^aabx^aacz^aadb^aacb^aabd^aacr^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadp^aadm^aadz^aadn^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabu`<title></title>`document title`zzzw^aabp^aabc");
	data.push("zabv`<col>`table column`zzzw^aacm^aadc^aaaf^aaam^aaan^aacu^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabw`<colgroup></colgroup>`table column group`zzzw^aacm^aadc^aaaf^aaam^aaan^aacu^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabx`<table></table>`table`zzzw^aacq^aadd^aabg^aacf^aaaj^aaal^aaak^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zaby`<tbody></tbody>`table body`zzzw^cellhaaaf^cellaacu^aaaf^aaam^aaan^aacu^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zabz`<td></td>`table data cell`zzzw^aabi^aach^aaaa^aaai^aace^aaav^aaaf^aaam^aaan^aacu^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zaca`<tfoot></tfoot>`table footer`cellhaaaf^cellaacu^aaaf^aaam^aaan^aacu^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacb`<th></th>`table header cell`zzzw^aabi^aach^aaaa^aaai^aace^aaav^aaaf^aaam^aaan^aacu^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacc`<thead></thead>`table header`zzzw^aaaf^aaam^aaan^aacu^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr"); //cellhalign, cellvalign
	data.push("zacd`<tr>`</tr>`table row`zzzw^aaaf^aaam^aaan^aacu^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zace`<address></address>`contact information`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacf`<b></b>`bold text`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacg`<big></big>`large text`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zach`<blockquote></blockquote>`long section of quoted text`zzzw^aaaq^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zaci`<caption></caption>`table caption`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacj`<cite></cite>`citation`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zack`<code></code>`code sample`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacl`<dd></dd>`definition description`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacm`<del></del>`deleted text`zzzw^aaaq^aaaz^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacn`<dl></dl>`definition list`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zaco`<dt></dt>`definition term`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacp`<em></em>`emphasis`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacq`<h1></h1>`heading`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacr`<h2></h2>`heading`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacs`<h3></h3>`heading`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zact`<h4></h4>`heading`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacu`<h5></h5>`heading`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacv`<h6></h6>`heading`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacw`<i></i>`italic`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacx`<ins></ins>`inserted text`zzzw^aaaq^aaaz^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacy`<kbd></kbd>`user-input text`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zacz`<li></li>`list item`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zada`<ol></ol>`ordered list`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadb`<pre></pre>`preformatted text`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadc`<q></q>`short section of quoted text`zzzw^aaaq^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadd`<samp></samp>`sample output`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zade`<small></small>`small text`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadf`<strong></strong>`strong emphasis`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadg`<sub></sub>`subscript`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadh`<sup></sup>`superscript`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadi`<tt></tt>`teletype or monospaced`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadj`<ul></ul>`unordered list`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadk`<abbr></abbr>`abbreviation`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadl`<acronym></acronym>`acronym`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadm`<area>`image map area`zzzw^aaax^aaby^aacx^aabm^aaar^aabp^aabc^aact^aacp^aabx^aaag^aabj^aacs^aacr^aaad^aack^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^addr^aadp^aadm");
	data.push("zadn`<base>`base URL for page links`zzzw^aabj^aacs");
	data.push("zado`<bdo></bdo>`bi-directional override`zzzw^aabp^aabc");
	data.push("zadp`<dfn></dfn>`defining instance`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadq`<fieldset></fieldset>`form control group`zzzw^aaad^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadr`<frame>`subwindow`zzzw^aabx^aabq^aacn^aabz^aaci^aabh^aabs^aabr^aabm^aaar^aact^aacp");
	data.push("zads`<frameset></frameset>`window subdivision`zzzw^aacy^aada^aabm^aaar^aact^aacp^zzzz^zzzv^aads^aaeb");
	data.push("zadt`<iframe></iframe>`inline subwindow`zzzw^aabq^aabx^aadd^aade^aacn^aabh^aabs^aabr^aaci^aabm^aaar^aact^aacp");
	data.push("zadu`<label></label>`form field label text`zzzw^aabf^aaad^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadp^aadm^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadv`<legend></legend>`form control group with caption`zzzw^aaad^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadw`<link>`media-independent link`zzzw^aabj^aabk^aadg^aacc^aacd^aacs^aabu^aaao^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadx`<map></map>`image map`zzzw^aabx^aaag^aabj^aacs^aacr^aaad^aack^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadp^aadm^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zady`<noframes></noframes>`alternate content for non-frame-based display`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zadz`<noscript></noscript>`alternate content for non-script-based display`");
	data.push("zaea`<object></object>`generic object`zzzw^aaas^aaat^aaau^aaay^aadg^aaah^aaba^aaco^aacr^aacx^aabx^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");
	data.push("zaeb`<param>`named property value`zzzw^aabx^aacv^aacw^aadg^aabm");
	data.push("zaec`<var></var>`variable`zzzw^aabm^aaar^aabp^aabc^aact^aacp^zzzz^zzzv^aadj^aado^aadt^aadx^aadw^aadu^aadv^aadq^aadl^aadr");

	data.push("aaaa`abbr`[text]`abbreviation for header cell");
	data.push("aaab`accept`[comma separated list of media types] {screen | tty | tv | projection | handheld | print | braille | aural | all}`list of MIME types for file upload");
	data.push("aaac`accept-charset`[space-separated character set list]`supported character sets");
	data.push("aaad`accesskey`[character]`accessibility key character");
	data.push("aaae`action`[uri]`server-side form handler");
	data.push("aaaf`align`{left | center | right | justify | char}`cell alignment");
	data.push("aaag`alt`[text]`short description, may be used as the tooltip text");
	data.push("aaah`archive`[comma-separated uri list]`list of object resources");
	data.push("aaai`axis`[comma-separated text list]`header cell categories");
	data.push("aaaj`border`[pixel value]`width of frame around a table");
	data.push("aaak`cellpadding`[pixel value or percentage]`spacing between cell border and contents");
	data.push("aaal`cellspacing`[pixel value or percentage]`spacing between adjacent cells");
	data.push("aaam`char`[character]`alignment character");
	data.push("aaan`charoff`[pixel value or width percentage]`offset for alignment character");
	data.push("aaao`charset`[character set]`character set used");
	data.push("aaap`checked`[no value]`control is checked");
	data.push("aaaq`cite`[uri]`source document or message");
	data.push("aaar`class`[space-separated list of classes]`predefined style name");
	data.push("aaas`classid`[uri]`implementation identifier");
	data.push("aaat`codebase`[uri]`base location for archive, data and classid");
	data.push("aaau`codetype`[content-type]`content type for code");
	data.push("aaav`colspan`[number]`columns spanned by the cell");
	data.push("aaaw`content`[text]`associated information");
	data.push("aaax`coords`[comma-separated list of pixel or percentage values]`coordinate values (x1, y1, x2, y2 ... xN, yN)");
	data.push("aaay`data`[uri]`reference to object's data");
	data.push("aaaz`datetime`[YYYY-MM-DDThh:mm:ssTZD]`date and time of change (2006-10-04T12:42:06.0-7:00)");
	data.push("aaba`declare`[no value]`declare object");
	data.push("aabb`defer`[no value]`browser may defer script execution");
	data.push("aabc`dir`{ltr | rtl}`direction for weak/neutral text");
	data.push("aabd`disabled`[no-value]`render the control unavailable");
	data.push("aabe`enctype`[content-type]`content type when 'method' is set to \"post\"");
	data.push("aabf`for`[space separated id list]`associates the label with specific controls");
	data.push("aabg`frame`{void | above | below | hsides | lhs | rhs | vsides | box | border}`visible parts of the table");
	data.push("aabh`frameborder`{1 | 0}`draw a separator between adjacent frames");
	data.push("aabi`headers`[space separated id list]`ids of header cells");
	data.push("aabj`href`[uri]`link destination, linked resource or base uri");
	data.push("aabk`hreflang`[language-code]`language of href resource");
	data.push("aabl`http-equiv`[text]`HTTP response header name");
	data.push("aabm`id`[text]`unique id");
	data.push("aabn`ismap`[no value]`use server-side image map");
	data.push("aabo`label`[text]`option or group label");
	data.push("aabp`lang`[language-code]`language code");
	data.push("aabq`longdesc`[uri]`link to long description");
	data.push("aabr`marginheight`[pixel]`space outside the frame on the top and bottom");
	data.push("aabs`marginwidth`[pixel]`space outside the frame on the left and right");
	data.push("aabt`maxlength`[number]`maximum number of characters");
	data.push("aabu`media`{screen | tty | tv | projection | handheld | print | braille | aural | all}`medium context rendering resource");
	data.push("aabv`method`{get | post}`method used to submit form data");
	data.push("aabw`multiple`[no value]`multiple selections allowed");
	data.push("aabx`name`[text]`property name");
	data.push("aaby`nohref`[no value]`no action");
	data.push("aabz`noresize`[text]`prevent user from resizing frames");
	data.push("aaca`profile`[uri]`location of metadata profile");
	data.push("aacb`readonly`[no value]`text cannot be modified");
	data.push("aacc`rel`[space-separated value list] {alternate | stylesheet | start | next | prev | contents | index | glossary | copyright | chapter | section | subsection | appendix | help | bookmark}`relationship of resource specified in 'href' to current document");
	data.push("aacd`rev`[space-separated value list] {alternate | stylesheet | start | next | prev | contents | index | glossary | copyright | chapter | section | subsection | appendix | help | bookmark}`relationship of current document to resource specified in 'href'");
	data.push("aace`rowspan`[number]`number of rows spanned by cell");
	data.push("aacf`rules`{none | groups | rows | cols | all}`specifies where rules will appear between cells");
	data.push("aacg`scheme`[text]`scheme that will interpret the property's value");
	data.push("aach`scope`{row | col | rowgroup | colgroup}`specifies which cells the header cell describes");
	data.push("aaci`scrolling`{auto | yes | no}`allows or prevents scrolling");
	data.push("aacj`selected`[no value]`option is the default selection");
	data.push("aack`shape`{default | rect | circle | poly}`method of interpreting coordinates");
	data.push("aacl`size`[pixel or number]`size of control");
	data.push("aacm`span`[number]`number of columns covered");
	data.push("aacn`src`[uri]`source location");
	data.push("aaco`standby`[text]`message shown while loading");
	data.push("aacp`style`[CSS style attributes]`style information");
	data.push("aacq`summary`[text]`purpose of table for non-visual output");
	data.push("aacr`tabindex`[number]`position in tabbing order");
	data.push("aacs`target`{_blank | _self | _parent | _top | [named frame]}`document or frame in which to open resource specified in 'href'");
	data.push("aact`title`[text]`advisory title");
	data.push("aacu`valign`{top | middle | bottom | baseline}`vertical alignment of cell content");
	data.push("aacv`value`[text]`property value");
	data.push("aacw`valuetype`{data | ref | object}`how to interpret 'value'");
	data.push("aacx`usemap`[map element uri]`use client-side image map");

	data.push("aacy`rows`[comma-separated list of pixel, percentage or relative length values]`layout of horizontal frames");
	data.push("aacz`rows`[number]`number of text rows");

	data.push("aada`cols`[comma-separated list of pixel, percentage or relative length values]`layout of vertical frames");
	data.push("aadb`cols`[number]`area width in characters");

	data.push("aadc`width`[pixel value, percentage or relative width]`column width");
	data.push("aadd`width`[pixel value or percentage]`element width");

	data.push("aade`height`[pixel value or percentage]`element height");

	data.push("aadf`type`{submit | button | reset}`button action");
	data.push("aadg`type`[content-type]`content type");
	data.push("aadh`type`{text | password | checkbox | radio | submit | reset | file | hidden | image | button}`control type");

	data.push("aadj`onclick`[script]`element was clicked using cursor");
	data.push("aadl`onkeydown`[script]`a key was pressed down");
	data.push("aadm`onblur`[script]`element lost focus");
	data.push("aadn`onchange`[script]`element value changed");
	data.push("aado`ondblclick`[script]`element was double-clicked using cursor");
	data.push("aadp`onfocus`[script]`element got focus");
	data.push("aadq`onkeypress`[script]`a key was pressed and released");
	data.push("aadr`onkeyup`[script]`a key was released");
	data.push("aads`onload`[script]`the document has been loaded");
	data.push("aadt`onmousedown`[script]`cursor button was pressed down");
	data.push("aadu`onmousemove`[script]`cursor was moved within element");
	data.push("aadv`onmouseout`[script]`cursor was moved off of element");
	data.push("aadw`onmouseover`[script]`cursor was moved onto element");
	data.push("aadx`onmouseup`[script]`cursor button was released");
	data.push("aady`onreset`[script]`form was reset");
	data.push("aadz`onselect`[script]`an option or text was selected");
	data.push("aaea`onsubmit`[script]`form was submitted");
	data.push("aaeb`onunload`[script]`the document has been released");

	data.push("zbab`b_Font Properties``bade^babn^babo^babp^babr^babs^babt^babu^babx^badp");
	data.push("zbac`c_Background Properties``baak^baal^baam^baan^baao^baap");
	data.push("zbad`d_Border Properties``baaq^baar^baas^baat^baau^baav^baaw^baax^baay^baaz^bacn^baco^bacp^bacq");
	data.push("zbae`e_Position/Size Properties``baba^babc^babd^babm^babv^babw^bace^bacf^baci^bacj^back^bacl^bacy^bada^badi^bado^badq");
	data.push("zbaf`f_Content Layout Properties``baby^bacs^bact^badc^badd^bade^badf^badg^badh^badk^badm");
	data.push("zbag`g_List Properties``babg^babh^babz^baca^bacb^bacd^bacg");
	data.push("zbah`h_Display Properties``babb^badf^babi^babj^babk^babl^bacr^bacz^badj^badl");
	data.push("zbai`i_Page Layout Properties``bach^bacm^bacu^bacv^bacw^bacx^badb^badn");
	data.push("zbaj`a_General Definitions``baaa^baab^baac^baad^baae^baaf^baag^baah^baai^baaj");

	data.push("baaa`length values`[number + unit {em | ex | px | in | cm | mm | pt | pc}]`example: 28px; em = current font size, ex = approx. size of lowercase letters in the current font, px = pixels, in = inches, cm = centimeters, mm = millimeters, pt = points (1/72 inch), pc = pica (12 points)");
	data.push("baab`border style values`{none* | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset}`");
	data.push("baac`border width values`{thin | medium* | thick | [length]}`");
	data.push("baad`shape values`[space-separated top offset, right offset, bottom offset, left offset]`each value is specified as a [length] value");
	data.push("baae`font family values`{serif | sans-serif | cursive | fantasy | monospace | [font name]}`");
	data.push("baaf`margin/border/padding side values`[1-4 lengths]`1 value = top/right/bottom/left; 2 values = top/bottom, left/right; 3 values = top, left/right, bottom; 4 values = top, right, bottom, left");
	data.push("baag`inherit values``explicitly specify that an element should use the parent's property value");
	data.push("baah`text shadow values`[color length length length]`only the first length value is required; first length value = horizontal offset, second length value = vertical offset, third length value = blur radius");
	data.push("baai`vertical position values`{top | center | bottom}`");
	data.push("baaj`horizontal position values`{left | center | right}`");

	data.push("baak`background`{[space-separated background properties] | inherit}`all background properties");
	data.push("baal`background-attachment`{scroll* | fixed | inherit}`determines whether the background image scrolls with the content or stays fixed");
	data.push("baam`background-color`{[color value] | transparent* | inherit}`background color");
	data.push("baan`background-image`{[uri | none* | inherit}`background image");
	data.push("baao`background-position`{[space-separated percentage/length pair]* | [space-separated vertical position and horizontal position pair] | inherit}`background image alignment");
	data.push("baap`background-repeat`{repeat* | repeat-x | repeat-y | no-repeat | inherit}`determines how the background image tiles");
	data.push("baaq`border`{[space-separated border properties] | inherit}`all border properties");
	data.push("baar`border-collapse`{collapse* | separate | inherit}`determines how borders around table cells interact with padding and other properties");
	data.push("baas`border-color`{[up to 4 color values] | transparent | inherit}`border color");
	data.push("baat`border-spacing`{[one or two lengths] | inherit}`distance between adjacent table cells");
	data.push("baau`border-style`{[up to 4 border styles] | inherit}`border line style");
	data.push("baav`border-width`{[up to 4 border widths] | inherit}`border width");
	data.push("baaw`border-[top/right/bottom/left]`{[space-separated width, style and color properties] | inherit}`style for the respective border side");
	data.push("baax`border-[top/right/bottom/left]-color`{[color value] | inherit}`color for the respective border side");
	data.push("baay`border-[top/right/bottom/left]-style`{[border style] | inherit}`line style for the respective border side");
	data.push("baaz`border-[top/right/bottom/left]-width`{[border width] | inherit}`border width for the respective side");
	data.push("baba`bottom`{[length] | [percentage] | auto* | inherit}`specifies the amount of offset of the bottom side of an element based on the 'position' property");
	data.push("babb`caption-side`{top* | bottom | left | right | inherit}`location of table caption");
	data.push("babc`clear`{none* | left | right | both | inherit}`invalidates the float attribute of adjacent elements on the respective side");
	data.push("babd`clip`{[shape] | auto* | inherit}`sets the visible portion of an element whose 'overflow' property is other than 'visible'");
	data.push("bade`color`{[color value] | inherit}`text color");
	data.push("badf`content`{[text] | [uri] | [counter] | attr([attribute name]) | open-quote | close-quote | no-open-quote | no-close-quote | inherit}`generates content within a document relative to the :before and :after pseudo-elements");
	data.push("babg`counter-increment`{[space-separated list of counter/integer pairs] | none* | inherit}`increments the counter for each occurance of the element");
	data.push("babh`counter-reset`{[space-separated list of counter/integer pairs] | none* | inherit}`resets each counter to it's given number");
	data.push("babi`cursor`{[comma-separated uri list] | auto* | crosshair | default | pointer | move | e-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize | text | wait | help | inherit}`ordered preference of cursors");
	data.push("babj`direction`{ltr | rtl | inherit}`text direction");
	data.push("babk`display`{inline* | block | list-item | run-in | compact | marker | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | none | inherit}`method of display for the element");
	data.push("babl`empty-cells`{show* | hide | inherit}`determines whether the borders of empty cells are displayed");
	data.push("babm`float`{left | right | none* | inherit}`specifies where an element should float in relation to adjacent elements");
	data.push("babn`font`{[space-separated font properties] | caption | icon | menu | message-box | small-caption | status-bar | inherit}`general font characteristics");
	data.push("babo`font-family`{[comma-separated font family value list] | inherit}`ordered preference of fonts");
	data.push("babp`font-size`{xx-small | x-small | small | medium* | large | x-large | xx-large | larger | smaller | [length] | [percentage relative to parent] | inherit}`font size");
	data.push("babq`font-size-adjust`{[number] | none* | inherit}`relative font size adjustment");
	data.push("babr`font-stretch`{wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | normal* | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit}`relative stretch value for the selected font");
	data.push("babs`font-style`{normal* | italic | oblique | inherit}`font style");
	data.push("babt`font-variant`{normal* | small-caps | inherit}`replaces lowercase text with scaled uppercase text");
	data.push("babu`font-weight`{normal* | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit}`font boldness");
	data.push("babv`height`{[length] | [percentage] | auto* | inherit}`height of element");
	data.push("babw`left`{[length] | [percentage] | auto* | inherit}`specifies the amount of offset of the left side of an element based on the 'position' property");
	data.push("babx`letter-spacing`{normal* | [length] | inherit}`determines spacing between text characters");
	data.push("baby`line-height`{normal* | [number] | [length] | [percentage] | inherit}`specifies the minimum height of an element");
	data.push("babz`list-style`{[space-separated list style properties] | inherit}`all list style properties used with the 'display' property set to 'list-item'");
	data.push("baca`list-style-image`{[uri] | none* | inherit}`list item marker");
	data.push("bacb`list-style-position`{inside | outside* | inherit}`places marker inside or outside of list block");
	data.push("bacd`list-style-type`{disc* | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-alpha | lower-latin | upper-alpha | upper-latin | hebrew | armenian | georgian | cjk-ideographic | hiragana | katakana | hiragana-iroha | katakana-iroha | none | inherit}`built-in list marker type");
	data.push("bace`margin`{[space-separated margin properties] | inherit}`all margin properties");
	data.push("bacf`margin-[top/right/bottom/left]`{[length] | [percentage] | inherit}`specifies the distance from the edge of an element to the edge of it's containing element");
	data.push("bacg`marker-offset`{[length] | auto* | inherit}`spacing between the marker edge and the content block");
	data.push("bach`marks`{[space-separated crop/cross values] | none* | inherit}`printing crop and alignment marks");
	data.push("baci`max-height`{[length] | [percentage] | none* | inherit}`specifies the maximum height of a block element");
	data.push("bacj`max-width`{[length] | [percentage] | none* | inherit}`specifies the maximum width of a block element");
	data.push("back`min-height`{[length] | [percentage] | inherit}`specifies the minimum height of a block element");
	data.push("bacl`min-width`{[length] | [percentage] | inherit}`specifies the minimum width of a block element");
	data.push("bacm`orphans`{[number] | inherit}`specifies the minimum number of paragraph lines that must be left at the bottom of a page");
	data.push("bacn`outline`{[space-separated list of outline properties] | inherit}`all outline properties`Non-compliance: IE");
	data.push("baco`outline-color`{[color value] | invert* | inherit}`outline color`Non-compliance: IE");
	data.push("bacp`outline-style`{[border style] | inherit}`style of outline`Non-compliance: IE");
	data.push("bacq`outline-width`{[border width] | inherit}`width of outline`Non-compliance: IE");
	data.push("bacr`overflow`{visible* | hidden | scroll | auto | inherit}`specifies how content is clipped when it overflows it's block");
	data.push("bacs`padding`{[space-separated padding properties] | inherit}`all padding properties");
	data.push("bact`padding-[top/right/bottom/left]`{[length] | [percentage] | inherit}`spacing between content and container edge");
	data.push("bacu`page`{[identifier] | auto*}`specifies a particular type of page for element properties");
	data.push("bacv`page-break-after`{auto* | always | avoid | left | right | inherit}`forces or prevents page breaks after an element");
	data.push("bacw`page-break-before`{auto* | always | avoid | left | right | inherit}`forces or prevents page breaks before an element");
	data.push("bacx`page-break-inside`{auto* | avoid | inherit}`forces or prevents page breaks inside an element");
	data.push("bacy`position`{static* | relative | absolute | fixed | inherit}`determines how the top/right/bottom/left properties are interpretted");
	data.push("bacz`quotes`{[one or two space-separated quote pairs] | none | inherit}`determines what characters are displayed with html quote tags");
	data.push("bada`right`{[length] | [percentage] | auto* | inherit}`specifies the amount of offset of the right side of an element based on the 'position' property");
	data.push("badb`size`{[one or two length values] | auto* | portrait | landscape | inherit}`determines the orientation and size of a page box");
	data.push("badc`table-layout`{auto* | fixed | inherit}`determines whether table layout is affected by cell content");
	data.push("badd`text-align`{left | right | center | justify | [text] | inherit}`specifies how content of a block is aligned");
	data.push("bade`text-decoration`{[space-separated values from {underline | overline | line-through | blink}] | none* | inherit}`text bling");
	data.push("badf`text-indent`{[length] | [percentage] | inherit}`indentation amount for text");
	data.push("badg`text-shadow`{[comma-separated text shadow values] | none* | inherit}`specifies text shadowing effects`Non-compliance: IE FF Op");
	data.push("badh`text-transform`{capitalize | uppercase | lowercase | none* | inherit}`text case effects");
	data.push("badi`top`{[length] | [percentage] | auto* | inherit}`specifies the amount of offset of the top side of an element based on the 'position' property");
	data.push("badj`unicode-bidi`{normal* | embed | bidi-override | inherit}`specifies bidirectional override in relation to the 'direction' property");
	data.push("badk`vertical-align`{baseline* | sub | super | top | text-top | middle | bottom | text-bottom | [percentage] | [length] | inherit}`specifies vertical alignment");
	data.push("badl`visibility`{visibile | hidden | collapse | inherit}`visibility of elements that still effect layout");
	data.push("badm`white-space`{normal* | pre | nowrap | inherit}`determines how whitespace is handled");
	data.push("badn`widows`{[number] | inherit}`specifies the minimum number of paragraph lines that must be left at the bottom of a page");
	data.push("bado`width`{[length] | [percentage] | auto* | inherit}`width of element");
	data.push("badp`word-spacing`{normal* | [length] | inherit}`determines word spacing");
	data.push("badq`z-index`{[number] | auto* | inherit}`determines the stack level of positioned elements");

	data.push("badr`color values`{[hex value] | rgb([r],[g],[b]) | aqua <<aqua<< | black <<black<< | blue <<blue<< | fuchsia <<fuchsia<< | gray <<gray<< | green <<green<< | lime <<lime<< | maroon <<maroon<< | navy <<navy<< | olive <<olive<< | purple <<purple<< | red <<red<< | silver <<silver<< | teal <<teal<< | white <<white<< | yellow <<yellow<< | activeborder <<activeborder<< | activecaption <<activecaption<< | appworkspace <<appworkspace<< | background <<background<< | buttonface <<buttonface<< | buttonhighlight <<buttonhighlight<< | buttonshadow <<buttonshadow<< | buttontext <<buttontext<< | captiontext <<captiontext<< | graytext <<graytext<< | highlight <<highlight<< | highlighttext <<highlighttext<< | inactiveborder <<inactiveborder<< | inactivecaption <<inactivecaption<< | inactivecaptiontext <<inactivecaptiontext<< | infobackground <<infobackground<< | infotext <<infotext<< | menu <<menu<< | menutext <<menutext<< | scrollbar <<scrollbar<< | threeddarkshadow <<threeddarkshadow<< | threedface <<threedface<< | threedhighlight <<threedhighlight<< | threedlightshadow <<threedlightshadow<< | threedshadow <<threedshadow<< | window <<window<< | windowframe <<windowframe<< | windowtext <<windowtext<<}`standard colors");
	data.push("bads`more color values`{aliceblue <<aliceblue<< | antiquewhite <<antiquewhite<< | aquamarine <<aquamarine<< | azure <<azure<< | beige <<beige<< | bisque <<bisque<< | blanchedalmond <<blanchedalmond<< | blueviolet <<blueviolet<< | brown <<brown<< | burlywood <<burlywood<< | cadetblue <<cadetblue<< | chartreuse <<chartreuse<< | chocolate <<chocolate<< | coral <<coral<< | cornflowerblue <<cornflowerblue<< | cornsilk <<cornsilk<< | crimson <<crimson<< | cyan <<cyan<< | darkblue <<darkblue<< | darkcyan <<darkcyan<< | darkgoldenrod <<darkgoldenrod<< | darkgray <<darkgray<< | darkgreen <<darkgreen<< | darkkhaki <<darkkhaki<< | darkmagenta <<darkmagenta<< | darkolivegreen <<darkolivegreen<< | darkorange <<darkorange<< | darkorchid <<darkorchid<< | darkred <<darkred<< | darksalmon <<darksalmon<< | darkseagreen <<darkseagreen<< | darkslateblue <<darkslateblue<< | darkslategray <<darkslategray<< | darkturquoise <<darkturquoise<< | darkviolet <<darkviolet<< | deeppink <<deeppink<< | deepskyblue <<deepskyblue<< | dimgray <<dimgray<< | dodgerblue <<dodgerblue<< | firebrick <<firebrick<< | floralwhite <<floralwhite<< | forestgreen <<forestgreen<< | gainsboro <<gainsboro<< | ghostwhite <<ghostwhite<< | gold <<gold<< | goldenrod <<goldenrod<< | greenyellow <<greenyellow<< | honeydew <<honeydew<< | hotpink <<hotpink<< | indianred <<indianred<< | indigo <<indigo<< | ivory <<ivory<< | khaki <<khaki<< | lavender <<lavender<< | lavenderblush <<lavenderblush<< | lawngreen <<lawngreen<< | lemonchiffon <<lemonchiffon<< | lightblue <<lightblue<< | lightcoral <<lightcoral<< | lightcyan <<lightcyan<< | lightgoldenrodyellow <<lightgoldenrodyellow<< | lightgrey <<lightgrey<< | lightgreen <<lightgreen<< | lightpink <<lightpink<< | lightsalmon <<lightsalmon<< | lightseagreen <<lightseagreen<< | lightskyblue <<lightskyblue<< | lightslategray <<lightslategray<< | lightsteelblue <<lightsteelblue<< | lightyellow <<lightyellow<< | limegreen <<limegreen<< | linen <<linen<< | magenta <<magenta<< | mediumaquamarine <<mediumaquamarine<< | mediumblue <<mediumblue<< | mediumorchid <<mediumorchid<< | mediumpurple <<mediumpurple<< | mediumseagreen <<mediumseagreen<< | mediumslateblue <<mediumslateblue<< | mediumspringgreen <<mediumspringgreen<< | mediumturquoise <<mediumturquoise<< | mediumvioletred <<mediumvioletred<< | midnightblue <<midnightblue<< | mintcream <<mintcream<< | mistyrose <<mistyrose<< | moccasin <<moccasin<< | navajowhite <<navajowhite<< | oldlace <<oldlace<< | olivedrab <<olivedrab<< | orange <<orange<< | orangered <<orangered<< | orchid <<orchid<< | palegoldenrod <<palegoldenrod<< | palegreen <<palegreen<< | paleturquoise <<paleturquoise<< | palevioletred <<palevioletred<< | papayawhip <<papayawhip<< | peachpuff <<peachpuff<< | peru <<peru<< | pink <<pink<< | plum <<plum<< | powderblue <<powderblue<< | rosybrown <<rosybrown<< | royalblue <<royalblue<< | saddlebrown <<saddlebrown<< | salmon <<salmon<< | sandybrown <<sandybrown<< | seagreen <<seagreen<< | seashell <<seashell<< | sienna <<sienna<< | skyblue <<skyblue<< | slateblue <<slateblue<< | slategray <<slategray<< | snow <<snow<< | springgreen <<springgreen<< | steelblue <<steelblue<< | tan <<tan<< | thistle <<thistle<< | tomato <<tomato<< | turquoise <<turquoise<< | violet <<violet<< | wheat <<wheat<< | whitesmoke <<whitesmoke<< | yellowgreen <<yellowgreen<<}`non-standard colors"); //feldspar, lightslateblue, violetred

	data.push("zcna`a_Core``zcab^zcac^zcad^zcae^zcaf^zcag^zcah");
	data.push("zcnb`b_General HTML``zcah^zcai^zcaj^zcak");
	data.push("zcnc`c_Common HTML``zcal^zcam^zcan^zcao^zcap^zcas^zcat^zcba^zcbk^zcbl^zcbp^zcbq^zcbs^zcbt^zcby");
	data.push("zcng`d_Form HTML``zcau^zcaw^zcax^zcav^zcay^zcaz^zcbb^zcbc");
	data.push("zcnd`e_Table HTML``zcbz^zcca^zccb^zccc^zccd^zcce");
	data.push("zcne`f_Formatting HTML``zcbe^zcbf^zcbg^zcbj^zcbm^zcbn^zcbo^zcbr");
	data.push("zcnf`g_More HTML``zcaq^zcbd^zcbu^zcbv^zcbw^zcbx^zccf^zccg^zcch");

	data.push("zcab`Node``zzzy^caaa^caab^caac^caad^caae^caaf^caag^caah^caai^caaj^caak^caal^caam^caan^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw");
	data.push("zcac`Document`: Node`zzzy^caaa^caab^cabz^caca^caac^cacb^caad^caae^caaf^caag^caah^caai^caaj^caak^caal^caam^caan^zzzz^zzzx^caao^caap^cacc^cacd^cace^cacf^cacg^cach^caci^cacj^cack^cacl^caaq^caar^cacm^cabo^cabp^cacn^caas^caat^caau^caav^caaw");
	data.push("zcad`Element`: Node`zzzy^caaa^caab^caac^caad^caae^caaf^caag^caah^caai^caaj^caak^caal^caam^caan^cabj^zzzz^zzzx^caao^caap^cabk^cabp^cabo^cabp^cabq^cabr^caaq^caar^caas^caat^caau^caav^cabs^cabt^cabu^caaw^cabv^cabw^cabx^caby");
	data.push("zcae`Attribute`: Node`zzzy^caaa^caab^caac^caad^caae^cabf^caaf^caag^caah^caai^caaj^caak^cabg^caal^caam^caan^cabh^cabi^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw");
	data.push("zcaf`CharacterData`: Node`zzzy^caaa^caab^caac^caad^caae^caaf^caag^caah^caai^caaj^caak^caal^caam^caan^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw");
	data.push("zcag`NodeList``zzzy^caax^zzzz^zzzx^caay");
	data.push("zcah`NamedNodeMap``zzzy^caax^zzzz^zzzx^caba^caay^cabb^cabc^cabd^cabe");
	data.push("zcah`HTMLCollection``zzzy^cajy^zzzz^zzzx^cajz^caka");
	data.push("zcai`HTMLOptionCollection``zzzy^cajy^zzzz^zzzx^cajz^caka");
	data.push("zcaj`HTMLDocument`: Document``zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^caca^cacg^caco^cacp^cacq^cacr^cacs^cact^cacu^cacv^cacw^cacx^cacy^cade^cadf^cadg^cadh^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabo^cabp^cabz^cacb^cacc^cacd^cace^cacf^cach^caci^cacj^cack^cacl^cacm^cacn^cacz^cada^cadb^cadc^cadd");
	data.push("zcak`HTMLElement`: Element``zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcal`HTMLHtmlElement`: HTMLElement`- corresponds to <html>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcam`HTMLHeadElement`: HTMLElement`- corresponds to <head>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cadj^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcan`HTMLLinkElement`: HTMLElement`- corresponds to <link>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cadk^cadl^cadm^cadn^cado^cadp^cadq^cads^caek^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcao`HTMLTitleElement`: HTMLElement`- corresponds to <title>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cadt^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcap`HTMLMetaElement`: HTMLElement`- corresponds to <meta>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cadu^cadv^cadw^cadx^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcaq`HTMLBaseElement`: HTMLElement`- corresponds to <base>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cady^caek^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcas`HTMLStyleElement`: HTMLElement`- corresponds to <style>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cads^caea^caeb^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcat`HTMLBodyElement`: HTMLElement`- corresponds to <body>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcau`HTMLFormElement`: HTMLElement`- corresponds to <form>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caed^caee^caef^caeg^caeh^caei^caej^caek^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby^cael^caem");
	data.push("zcav`HTMLSelectElement`: HTMLElement`- corresponds to <select>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caen^caep^caeq^caes^caet^caeu^caew^caex^cafq^cafs^cafw^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby^caey^cafb^caga^cagc");
	data.push("zcaw`HTMLOptGroupElement`: HTMLElement`- corresponds to <optgroup>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cafc^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcax`HTMLOptionElement`: HTMLElement`- corresponds to <option>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caen^cafd^caff^cafg^cafh^cafi^cafj^cafq^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcay`HTMLInputElement`: HTMLElement`- corresponds to <input>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caen^cafk^cafl^cafm^cafn^cafo^cafp^cafq^cafr^cafs^caft^cafu^cafv^cafw^cafx^cafz^cagx^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby^caga^cagb^cagc^cagd");
	data.push("zcaz`HTMLTextAreaElement`: HTMLElement`- corresponds to <textarea>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caen^cafl^cafp^cafq^cafs^caft^cafw^cafz^cage^cagf^cagg^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby^caga^cagc^cagd");
	data.push("zcba`HTMLButtonElement`: HTMLElement`- corresponds to <button>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caen^cafl^cafq^cafs^cafw^cafz^cagh^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbb`HTMLLabelElement`: HTMLElement`- corresponds to <label>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cafl^cafq^cagi^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbc`HTMLFieldSetElement`: HTMLElement`- corresponds to <fieldset>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cafq^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbd`HTMLLegendElement`: HTMLElement`- corresponds to <legend>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cafl^cafq^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbe`HTMLUListElement`: HTMLElement`- corresponds to <ul>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbf`HTMLOListElement`: HTMLElement`- corresponds to <ol>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbg`HTMLDListElement`: HTMLElement`- corresponds to <dl>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbj`HTMLLIElement`: HTMLElement`- corresponds to <li>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbk`HTMLDivElement`: HTMLElement`- corresponds to <div>, <span>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbl`HTMLParagraphElement`: HTMLElement`- corresponds to <p>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbm`HTMLHeadingElement`: HTMLElement`- corresponds to <h1>, <h2>, <h3>, <h4>, <h5>, <h6>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbn`HTMLQuoteElement`: HTMLElement`- corresponds to <q>, <blockquote>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cagj^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbo`HTMLPreElement`: HTMLElement`- corresponds to <pre>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbp`HTMLBRElement`: HTMLElement`- corresponds to <br>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbq`HTMLHRElement`: HTMLElement`- corresponds to <hr>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cagk^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbr`HTMLModElement`: HTMLElement`- corresponds to <ins>, <del>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cagl^cagm^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbs`HTMLAnchorElement`: HTMLElement`- corresponds to <a>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cadk^cadm^cadn^cadp^cadq^caek^cafl^cafw^cagn^cago^cagp^cagq^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby^caga^cagc");
	data.push("zcbt`HTMLImageElement`: HTMLElement`- corresponds to <img>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cagr^cags^cagt^cagu^cagv^cagw^cagx^cagy^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbu`HTMLObjectElement`: HTMLElement`- corresponds to <object>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cafq^cafw^cagv^cagx^cagz^caha^cahb^cahc^cahd^cahe^cahf^cahg^cahh^cahi^cahj^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbv`HTMLParamElement`: HTMLElement`- corresponds to <param>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cahk^cahl^cahm^cahn^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbw`HTMLMapElement`: HTMLElement`- corresponds to <map>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caho^cahp^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbx`HTMLAreaElement`: HTMLElement`- corresponds to <area>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cadm^caek^cafl^cafw^cagn^cagp^cahq^cahr^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcby`HTMLScriptElement`: HTMLElement`- corresponds to <script>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cadk^cahs^caht^cahu^cahv^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcbz`HTMLTableElement`: HTMLElement`- corresponds to <table>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cahw^cahx^cahy^cahz^caia^caib^caic^caid^caie^caif^caig^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby^caih^caii^caij^caik^cail^caim^cain^caio");
	data.push("zcca`HTMLTableCaptionElement`: HTMLElement`- corresponds to <caption>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zccb`HTMLTableColElement`: HTMLElement`- corresponds to <col>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caip^caiq^cair^cais^cait^caiu^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zccc`HTMLTableSectionElement`: HTMLElement`- corresponds to <thead>, <tbody>, <tfoot>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caip^caiq^cair^cait^caiy^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby^cail^caio");
	data.push("zccd`HTMLTableRowElement`: HTMLElement`- corresponds to <tr>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caip^caiq^cair^cait^caiz^caja^cajb^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby^cajc^cajd");
	data.push("zcce`HTMLTableCellElement`: HTMLElement`- corresponds to <td>, <th>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^caip^caiq^cair^cait^caje^cajf^cajg^cajh^caji^cajj^cajk^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zccf`HTMLFrameSetElement`: HTMLElement`- corresponds to <frameset>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cajl^cajm^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zccg`HTMLFrameElement`: HTMLElement`- corresponds to <frame>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cajn^cajo^cajp^cajq^cajr^cajs^cajt^caju^cajv^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");
	data.push("zcch`HTMLIFrameElement`: HTMLElement`- corresponds to <iframe>`zzzy^caaa^caab^caac^caad^caag^caah^caaj^caal^caan^cabj^cade^cadf^cadg^cadh^cadi^cajn^cajo^cajp^cajq^cajr^cajs^caju^cajv^cajw^cajx^caae^caaf^caai^caak^caam^zzzz^zzzx^caao^caap^caaq^caar^caas^caat^caau^caav^caaw^cabk^cabo^cabp^cabq^cabr^cabs^cabt^cabu^cabv^cabw^cabx^caby");


	//node
	data.push("caaa`attributes`[readonly NamedNodeMap]`gets a list of attributes for this node");
	data.push("caab`childNodes`[readonly NodeList]`gets an array of all children of this node");
	data.push("caac`firstChild`[readonly node]`gets the first child of this node");
	data.push("caad`lastChild`[readonly node]`gets the last child of this node");
	data.push("caae`localName`[readonly string]`gets the qualified name of this node (Level 2)");
	data.push("caaf`namespaceURI`[readonly string]`gets the namespace uri of this node (Level 2)");
	data.push("caag`nextSibling`[readonly node]`gets the node immediately following this node");
	data.push("caah`nodeName`[readonly string]`gets the name of this node");
	data.push("caai`nodeType`[readonly short]`gets a code representing this node's type (1=Element, 2=Attr, 3=Text, 4=CDATASection, 5=EntityReference, 6=Entity, 7=ProcessingInstruction, 8=Comment, 9=Document, 10=DocumentType, 11=DocumentFragment, 12=Notation)");
	data.push("caaj`nodeValue`[string]`the value of this node; applies only to attributes, cdata, comments, text and processing instructions");
	data.push("caak`ownerDocument`[readonly document]`gets the document object that owns this node (Level 2)");
	data.push("caal`parentNode`[readonly node]`gets the parent of this node");
	data.push("caam`prefix`[string]`gets the namespace prefix of this node (Level 2)");
	data.push("caan`previousSibling`[readonly node]`gets the node immediately preceding this node");
	data.push("caao`appendChild`(node newChild) [node]`adds a new node to the children of this node");
	data.push("caap`cloneNode`(boolean deep) [node]`returns a duplicate of this node");
	data.push("caaq`hasAttributes`() [boolean]`gets a value indicating whether this node has any attributes (Level 2)");
	data.push("caar`hasChildNodes`() [boolean]`gets a value indicating whether this node has any children");
	data.push("caas`insertBefore`(node newChild, node refChild) [node]`inserts a the newChild node before thie existing refChild node");
	data.push("caat`isSupported`(string feature, string version) [boolean]`gets a value indicating whether the specified feature is supported on this node (Level 2)");
	data.push("caau`normalize`() [void]`structures the current node into a normalized document tree structure (Level 2)");
	data.push("caav`removeChild`(node oldChild) [node]`removes the child node from this node");
	data.push("caaw`replaceChild`(node newChild, node oldChild) [node]`replaces the oldChild node with the newChild note in the list of children for this node");

	//nodelist
	data.push("caax`length`[readonly integer]`gets the number of nodes in this list");
	data.push("caay`item`(integer index) [readonly node]`returns the node at the position indicated by index");

	//namednodemap
	//length - from nodelist
	data.push("caaz`getNamedItem`(string name) [node]`returns the node associated with the specified name or null");
	data.push("caba`getNamedItemNS`(string namespaceURI, string localName) [node]`returns the node associated with the specified namespace and name or null");
	//item - from nodelist
	data.push("cabb`removeNamedItem`(string name) [node]`removes the node with the specified name and returns it");
	data.push("cabc`removeNamedItemNS`(string namespaceURI, string localName) [node]`removes the node with the specified namespace and name and returns it");
	data.push("cabd`setNamedItem`(node newNode) [node]`adds or replaces a node by its nodeName attribute and returns the replaced node if there was one");
	data.push("cabe`setNamedItemNS`(node newNode) [node]`adds or replaces a node by its namespaceURI and localName attributes and returns the replaced node if there was one");

	//attributes
	data.push("cabf`name`[readonly string]`gets the attribute name");
	data.push("cabg`ownerElement`[readonly Element]`gets the element this attribute is attached to");
	data.push("cabh`specified`[readonly boolean]`determines if this attribute has been explicitly specified or is default");
	data.push("cabi`value`[string]`gets or sets the value of this attribute");

	//element
	data.push("cabj`tagName`[readonly string]`gets the tag name");
	data.push("cabk`getAttribute`(string name) [string]`gets an attribute value by name");
	data.push("cabl`getAttributeNS`(string namespaceURI, string localName) [string]`gets an attribute value by name and namespace (Level 2)");
	data.push("cabm`getAttributeNode`(string name) [Attribute]`gets an attribute node by name");
	data.push("cabn`getAttributeNodeNS`(string namespaceURI, string localName) [Attribute]`gets an attribute node by name and namespace (Level 2)");
	data.push("cabo`getElementsByTagName`(string name) [NodeList]`gets an array of descendant elements with a given tag name");
	data.push("cabp`getElementsByTagNameNS`(string namespaceURI, string localName) [NodeList]`gets an array of descendant elements with a given namespace and name (Level 2)");
	data.push("cabq`hasAttribute`(string name) [boolean]`gets a value indicating whether an attribute exists on this element");
	data.push("cabr`hasAttributeNS`(string namespaceURI, string localName) [boolean]`gets a value indicating whether an attribute with the given namespace and name exists on this element (Level 2)");
	data.push("cabs`removeAttribute`(string name) [void]`removes an attribute by name");
	data.push("cabt`removeAttributeNS`(string namespaceURI, string localName) [void]`removes an attribute by namespace and name (Level 2)");
	data.push("cabu`removeAttributeNode`(attribute oldAttribute) [attribute]`removes the given attribute from this element");
	data.push("cabv`setAttribute`(string name, string value) [void]`adds a new attribute to this element");
	data.push("cabw`setAttributeNS`(string namespaceURI, string qualifiedName, string value) [void]`adds a new attribute with the given namespace and name to this element (Level 2)");
	data.push("cabx`setAttributeNode`(attribute newAttribute) [attribute]`adds or updates a new attribute node in this element");
	data.push("caby`setAttributeNodeNS`(attribute newAttribute) [attribute]`adds or updates a new attribute node in this element");

	//document
	data.push("cabz`doctype`[readonly DocumentType]`gets the document type declaration associated with the document (see W3C DOM spec)");
	data.push("caca`documentElement`[readonly Element]`gets the root element of this document");
	data.push("cacb`implementation`[readonly DOMImplementation]`gets the DOMImplemenatation that handles this document (see W3C DOM spec)");
	data.push("cacc`createAttribute`(string name) [attribute]`creates an attribute with the given name and a blank value and returns it");
	data.push("cacd`createAttributeNS`(string namespaceURI, string qualifiedName) [attribute]`creates an attribute with name properties set based on the specified information and returns it");
	data.push("cace`createCDATASection`(string data) [CDATASection]`creates a CDATASection node with the given data and returns it");
	data.push("cacf`createComment`(string data) [Comment]`creates a Comment node with the given data and returns it");
	data.push("cacg`createDocumentFragment`[DocumentFragment]`creates an empty DocumentFragment node and returns it");
	data.push("cach`createElement`(string tagName) [Element]`creates an element of the specified type and returns it");
	data.push("caci`createElementNS`(string namespaceURI, string qualifiedName) [Element]`creates an element with the specified name information and returns it");
	data.push("cacj`createEntityReference`(string name) [EntityReference]`creates an EntityReference node and returns it");
	data.push("cack`createProcessingInstruction`(string target, string data) [ProcessingInstruction]`creates a ProcessingInstruction node and returns it");
	data.push("cacl`createTextNode`(string data) [Text Node]`creates a text node with the specified data and returns it");
	data.push("cacm`getElementById`(string elementId) [Element]`returns the element whose ID matches the specified value");
	//getElementsByTagName - from element
	//getElementsByTagNameNS - from element
	data.push("cacn`importNode`(node importedNode, boolean deep) [Node]`imports the specifed node from another document and optionally imports its subtree nodes");

	//HTMLCollection
	data.push("cajy`length`[integer]`number of elements in the collection");
	data.push("cajz`item`(integer index) [Node]`gets the node at the given index");
	data.push("caka`namedItem`(string name) [node]`gets the node with the given id or name");

	//HTMLOptionCollection
	//length from HTMLCollection
	//item from HTMLCollection
	//namedItem from HTMLCollection

	//HTMLDocument : Document
	data.push("caco`URL`[readonly string]`address of this document");
	data.push("cacp`anchors`[readonly HTMLCollection]`collection of anchors with a specified name attribute");
	data.push("cacq`applets`[readonly HTMLCollection]`collection of applet elements");
	data.push("cacr`body`[HTMLElement]`the body element of this document");
	data.push("cacs`cookie`[string]`semi-colon delimited list of name-value pairs for each cookie");
	data.push("cact`domain`[readonly string]`domain name of this document");
	data.push("cacu`forms`[readonly HTMLCollection]`collection of form elements");
	data.push("cacv`images`[readonly HTMLCollection]`collection of image elements");
	data.push("cacw`links`[readonly HTMLCollection]`collection of all area and anchor elements with a specified href attribute");
	data.push("cacx`referrer`[readonly string]`address of the page that linked to this page");
	data.push("cacy`title`[string]`title of this document");
	data.push("cacz`close`() [void]`closes the document stream");
	data.push("cada`getElementsByName`(string elementName) [NodeList]`returns a list of elements with the specified name attribute");
	data.push("cadb`open`() [void]`opens the document stream for writing");
	data.push("cadc`write`(string text) [void]`writes text to the document stream");
	data.push("cadd`writeln`(string text) [void]`writes text to the document stream followed by a newline character");

	//HTMLElement : Element
	data.push("cade`className`[string]`class attribute of the element");
	data.push("cadf`dir`[string]`text direction attribute of the element");
	data.push("cadg`id`[string]`unique id attribute of the element");
	data.push("cadh`lang`[string]`language code attribute of the element");
	data.push("cadi`title`[string]`advisory title attribute of the element");

	//HTMLHtmlElement : HTMLElement
	//none

	//HTMLHeadElement : HTMLElement
	data.push("cadj`profile`[string]`address of metadata profile");

	//HTMLLinkElement : HTMLElement
	data.push("cadk`charset`[string]`character encoding of the linked resource");
	data.push("cadl`disabled`[boolean]`enables/disables the link");
	data.push("cadm`href`[string]`address of the linked resource");
	data.push("cadn`hreflang`[string]`language code of the linked resource");
	data.push("cado`media`[string]`target media");
	data.push("cadp`rel`{alternate | stylesheet | start | next | prev | contents | index | glossary | copyright | chapter | section | subsection | appendix | help | bookmark}`forward link type");
	data.push("cadq`rev`{alternate | stylesheet | start | next | prev | contents | index | glossary | copyright | chapter | section | subsection | appendix | help | bookmark}`reverse link type");
	data.push("cadr`target`{ _blank | _self | _parent | _top | [named frame]}`default target frame or window");
	data.push("cads`type`[string]`content type");

	//HTMLTitleElement : HTMLElement
	data.push("cadt`text`[string]`page title");

	//HTMLMetaElement : HTMLElement
	data.push("cadu`content`[string]`associated information");
	data.push("cadv`httpEquiv`[string]`http response name");
	data.push("cadw`name`[string]`meta information name");
	data.push("cadx`scheme`[string]`content type");

	//HTMLBaseElement : HTMLElement
	data.push("cady`href`[string]`base address");
	data.push("cadz`traget`{ _blank | _self | _parent | _top | [named frame]}`default target frame or window");

	//HTMLIsIndexElement : HTMLElement
	//form from HTMLInputElement

	//HTMLStyleElement : HTMLElement
	data.push("caea`disabled`[boolean]`enables/disables the style sheet");
	data.push("caeb`media`[string]`target media for styles");
	data.push("caec`type`{text/css}`content type");

	//HTMLBodyElement : HTMLElement
	//none

	//HTMLFormElement : HTMLElement
	data.push("caed`acceptCharset`[string]`supported character sets");
	data.push("caee`action`[string]`address of form handler");
	data.push("caef`elements`[readonly HTMLCollection]`collection of all form elements");
	data.push("caeg`enctype`{application/x-www-form-urlencoded}`content type of the form");
	data.push("caeh`length`[readonly integer]`number of input controls in the form");
	data.push("caei`method`{get | post}`method used to submit the form");
	data.push("caej`name`[string]`name of the form");
	data.push("caek`target`{ _blank | _self | _parent | _top | [named frame]}`default target frame or window");
	data.push("cael`reset`() [void]`resets the form controls to their original values");
	data.push("caem`submit`() [void]`submits the form");

	//HTMLSelectElement : HTMLElement
	//disabled from HTMLInputElement
	//form from HTMLInputElement
	data.push("caep`length`[integer]`number of options in the control");
	data.push("caeq`multiple`[boolean]`indicates that multiple options can be selected");
	//name from HTMLInputElement
	data.push("caes`options`[readonly HTMLOptionsCollection]`collection of option elements");
	data.push("caet`selectedIndex`[integer]`index of the selected option");
	data.push("caeu`size`[integer]`number of visible options");
	//tabIndex from HTMLInputElement
	data.push("caew`type`[readonly {select-one | select-multiple}`type of control dependent on the multiple property");
	data.push("caex`value`[string]`current control value or the first selected option");
	data.push("caey`add`(HTMLElement option, HTMLElement before) [void]`adds a new option element before the specified existing option, or at the end if the before parameter is null");
	//blur from HTMLInputElement
	//focus from HTMLInputElement
	data.push("cafb`remove`(integer index) [void]`removes the option at the given index");

	//HTMLOptGroupElement : HTMLElement
	data.push("cafc`label`[string]`assigns a label to the option group");

	//HTMLOptionElement : HTMLElement
	data.push("cafd`defaultSelected`[boolean]`indicates whether this option is selected by default");
	//disabled from HTMLInputElement
	//form from HTMLInputElement
	data.push("caff`index`[readonly integer]`the index of the option");
	data.push("cafg`label`[string]`alternate shorted text value for the option");
	data.push("cafh`selected`[boolean]`indicates whether this option is currently selected");
	data.push("cafi`text`[readonly string]`option text");
	data.push("cafj`value`[string]`the value of the option");

	//HTMLInputElement : HTMLElement
	data.push("cafk`accept`[comma-separated string list]`content types that the form can process");
	data.push("cafl`accessKey`[string]`single character that gives focus to the input control");
	data.push("cafm`alt`[string]`alternate text used when the control cannot be displayed normally");
	data.push("cafn`checked`[boolean]`indicates the value of a radio or checkbox input control");
	data.push("cafo`defaultChecked`[boolean]`indicates whether a radio or checkbox input control is checked by default");
	data.push("cafp`defaultValue`[string]`the default value specified for a control");
	data.push("caen`disabled`[boolean]`enables/disables the control");
	data.push("cafq`form`[HTMLFormElement]`the form element that owns this control");
	data.push("cafr`maxLength`[integer]`maximum number of characters for text fields");
	data.push("cafs`name`[string]`control name and value name");
	data.push("caft`readOnly`[boolean]`indicates that a text or password input control is readonly");
	data.push("cafu`size`[integer]`size information specific to each input type");
	data.push("cafv`src`[string]`address of the image for image type submit button");
	data.push("cafw`tabIndex`[integer]`position of this control in the tabbing order");
	data.push("cafx`type`{text | password | checkbox | radio | submit | reset | file | hidden | image | button}`type of input control");
	data.push("cafy`useMap`[string]`client-side image map");
	data.push("cafz`value`[string]`the form value of the input control");
	data.push("caga`blur`() [void]`removes keyboard focus from the control");
	data.push("cagb`click`() [void]`simulates a mouse click for button, checkbox, radio, reset or submit input controls");
	data.push("cagc`focus`() [void]`sets keyboard focus to the control");
	data.push("cagd`select`() [void]`selects the contents of a text field");

	//HTMLTextAreaElement : HTMLElement
	//accessKey from HTMLInputElement
	data.push("cage`cols`[integer]`width of the control as a number of characters");
	//defaultValue from HTMLInputElement
	//disabled from HTMLInputElement
	//form from HTMLInputElement
	//name from HTMLInputElement
	//readOnly from HTMLInputElement
	data.push("cagf`rows`[integer]`number of text rows visible");
	//tabIndex from HTMLInputElement
	data.push("cagg`type`[readonly {textarea}]`the type of the control");
	//value from HTMLInputElement
	//blur from HTMLInputElement
	//focus from HTMLInputElement
	//select from HTMLInputElement

	//HTMLButtonElement : HTMLElement
	//accessKey from HTMLInputElement
	//disabled from HTMLInputElement
	//form from HTMLInputElement
	//name from HTMLInputElement
	//tabIndex from HTMLInputElement
	data.push("cagh`type`[readonly {button}]`the type of the control");
	//value from HTMLInputElement

	//HTMLLabelElement : HTMLElement
	//accessKey from HTMLInputElement
	//form from HTMLInputElement
	data.push("cagi`htmlFor`[string]`links the label with a form control by id");

	//HTMLFieldSetElement : HTMLElement
	//form from HTMLInputControl

	//HTMLLegendElement : HTMLElement
	//accessKey from HTMLInputControl
	//form from HTMLInputControl

	//HTMLUListElement : HTMLElement
	//none

	//HTMLOListElement : HTMLElement
	//none

	//HTMLDListElement : HTMLElement
	//none

	//HTMLDirectoryElement : HTMLElement
	//none

	//HTMLMenuElement : HTMLElement
	//none

	//HTMLLIElement : HTMLElement
	//none

	//HTMLDivElement : HTMLElement
	//none

	//HTMLParagraphElement : HTMLElement
	//none

	//HTMLHeadingElement : HTMLElement
	//none

	//HTMLQuoteElement : HTMLElement
	data.push("cagj`cite`[string]`address designating the source of a quotation");

	//HTMLPreElement : HTMLElement
	//none

	//HTMLBRElement : HTMLElement
	//none

	//HTMLHRElement : HTMLElement
	data.push("cagk`noShade`[boolean]`indicates that there should be no shading on the element");

	//HTMLModElement : HTMLElement
	data.push("cagl`cite`[string]`address of a document citing the readon for the change");
	data.push("cagm`dateTime`[string]`date and time of the change");

	//HTMLAnchorElement : HTMLElement
	//accessKey from HTMLInputElement
	//charset from HTMLLinkElement
	data.push("cagn`coords`[comma-separated list of lengths]`active region of the anchor");
	//href from HTMLLinkElement
	//hreflang from HTMLLinkElement
	data.push("cago`name`[string]`anchor name");
	//rel from HTMLLinkElement
	//rev from HTMLLinkElement
	data.push("cagp`shape`[string]`shape of the active area for the link, give by the coords property");
	//tabIndex from HTMLInputElement
	//target from HTMLFormElement
	data.push("cagq`type`[string]`advisory content type");
	//blur from HTMLInputElement
	//focus from HTMLInputElement

	//HTMLImageElement : HTMLElement
	data.push("cagr`alt`[string]`text to display when the image cannot be rendered");
	data.push("cags`height`[integer`height of the image in pixels");
	data.push("cagt`isMap`[boolean]`indicates that an image map should be used");
	data.push("cagu`longDesc`[string]`description of the image");
	data.push("cagv`name`[string]`element name");
	data.push("cagw`src`[string]`address of the source image");
	data.push("cagx`useMap`[string]`client-side image map");
	data.push("cagy`width`[integer]`width of the image in pixels");

	//HTMLObjectElement : HTMLElement
	data.push("cagz`archive`[space-separated list of archives]`archive list");
	data.push("caha`code`[string]`applet class file");
	data.push("cahb`codebase`[string]`base address for classid, data and archive properties");
	data.push("cahc`codeType`[string]`content type for data from classid");
	data.push("cahd`contentDocument`[readonly Document]`document the object contains");
	data.push("cahe`data`[string]`address specifying the location of the objects' data");
	data.push("cahf`declare`[boolean]`indicates that the object should be declared but not instantiated");
	//form from HTMLInputElement
	data.push("cahg`height`[string]`object height");
	//name from HTMLImageElement
	data.push("cahh`standby`[string]`message to display while object loads");
	//tabIndex from HTMLInputElement
	data.push("cahi`type`[string]`content type of data");
	//useMap from HTMLImageElement
	data.push("cahj`width`[string]`object width");

	//HTMLParamElement : HTMLElement
	data.push("cahk`name`[string]`name of the run-time parameter");
	data.push("cahl`type`[string]`content type of value property");
	data.push("cahm`value`[string]`value of the run-time parameter");
	data.push("cahn`valueType`[string]`information about the meaning of the value property");

	//HTMLMapElement : HTMLElement
	data.push("caho`areas`[readonly HTMLCollection]`list of areas defined for the image map");
	data.push("cahp`name`[string]`name of the image map");

	//HTMLAreaElement : HTMLElement
	//accessKey from HTMLInputElement
	data.push("cahq`alt`[string]`alternate text used when element cannot be displayed properly");
	//coords from HTMLAnchorElement
	//href from HTMLLinkElement
	data.push("cahr`noHref`[boolean]`indicates that the area is inactive");
	//shape from HTMLAnchorElement
	//tabIndex from HTMLInputElement
	//target from HTMLFormElement

	//HTMLScriptElement : HTMLElement
	//charSet from HTMLLinkElement
	data.push("cahs`defer`[boolean]`indicates that the script processing can be delayed");
	data.push("caht`src`[string]`address of external script");
	data.push("cahu`text`[string]`script content");
	data.push("cahv`type`[string]`content type of the script language");

	//HTMLTableElement : HTMLElement
	data.push("cahw`border`[string]`width of the border around the table in pixels");
	data.push("cahx`caption`[HTMLTableCaptionElement]`the table's caption element");
	data.push("cahy`cellPadding`[string]`horizontal and vertical space between cell content and border");
	data.push("cahz`cellSpacing`[string]`horizontal and vertical separation between cells");
	data.push("caia`frame`{void | above | below | hsides | lhs | rhs | vsides | box | border}`indicates which table borders to render");
	data.push("caib`rows`[readonly HTMLCollection]`collection of row elements");
	data.push("caic`summary`[string]`table description");
	data.push("caid`tBodies`[readonly HTMLCollection]`collection of table bodies");
	data.push("caie`tFoot`[HTMLTableSectionElement]`the table's tfoot element");
	data.push("caif`tHead`[HTMLTableSectionElement]`the table's thead element");
	data.push("caig`width`[string]`table width");
	data.push("caih`createCaption`() [HTMLElement]`create a new caption element or return the existing one");
	data.push("caii`createTFoot`() [HTMLElement]`create a new footer element or return the existing one");
	data.push("caij`createTHead`() [HTMLElement]`create a new header element or return the existing one");
	data.push("caik`deleteCaption`() [void]`delete the table's caption");
	data.push("cail`deleteRow`(integer index) [void]`deletes the row at the given index");
	data.push("caim`deleteTFoot`() [void]`delete the table's footer");
	data.push("cain`deleteTHead`() [void]`delete the table's header");
	data.push("caio`insertRow`(integer index) [HTMLElement]`creates and returns a new row inserted at the given index");

	//HTMLTableCaptionElement : HTMLElement
	//none

	//HTMLTableColElement : HTMLElement
	data.push("caip`align`{left | center | right | justify | char}`horizontal alignment of cell data");
	data.push("caiq`ch`[string]`alignment character for the column if the align property is char");
	data.push("cair`chOff`[string]`alignment offset if the align property is char");
	data.push("cais`span`[integer]`number of columns spanned");
	data.push("cait`vAlign`{top | middle | bottom | baseline}`vertical alignment of cell data");
	data.push("caiu`width`[string]`column width");

	//HTMLTableSectionElement : HTMLElement
	//align from HTMLTableColElement
	//ch from HTMLTableColElement
	//chOff from HTMLTableColElement
	data.push("caiy`rows`[readonly HTMLCollection]`collection of rows in the table section");
	//vAlign from HTMLTableColElement
	//deleteRow from HTMLTableElement
	//insertRow from HTMLTableElement

	//HTMLTableRowElement : HTMLElement
	//align from HTMLTableColElement
	data.push("caiz`cells`[readonly HTMLCollection]`collection of cells in the row");
	//ch from HTMLTableColElement
	//chOff from HTMLTableColElement
	data.push("caja`rowIndex`[readonly integer]`index of the row for the entire table including sections");
	data.push("cajb`sectionRowIndex`[readonly integer]`index of teh row relative to it's section");
	//vAlign from HTMLTableColElement
	data.push("cajc`deleteCell`(integer index) [void]`deletes the cell at the given index");
	data.push("cajd`insertCell`(integer index) [HTMLElement]`creates and returns a new cell inserted at the given index");

	//HTMLTableCellElement : HTMLElement
	data.push("caje`abbr`[string]`abbreviation for header cells");
	//align from HTMLTableColElement
	data.push("cajf`axis`[string]`name group of related headers");
	data.push("cajg`cellIndex`[readonly integer]`index of the cell in it's row");
	//ch from HTMLTableColElement
	//chOff from HTMLTableColElement
	data.push("cajh`colSpan`[integer]`number of columns spanned by the cell");
	data.push("caji`headers`[string]`list of id property values for header cells");
	data.push("cajj`rowSpan`[integer]`number of rows spanned by the cell");
	data.push("cajk`scope`{row | col | rowgroup | colgroup}`scope covered by header cells");
	//vAlign from HTMLTableColElement

	//HTMLFrameSetElement : HTMLElement
	data.push("cajl`cols`[string]`number of columns of frames in the frameset");
	data.push("cajm`rows`[string]`number of rows of frames in the frameset");

	//HTMLFrameElement : HTMLElement
	data.push("cajn`contentDocument`[readonly Document]`the document the frame contains");
	data.push("cajo`frameBorder`{0 | 1}`indicates the type of border on the frame");
	data.push("cajp`longDesc`[string]`description of the frame");
	data.push("cajq`marginHeight`[string]`height of frame margin");
	data.push("cajr`marginWidth`[string]`width of frame margin");
	data.push("cajs`name`[string]`frame name");
	data.push("cajt`noResize`[boolean]`indicates that users are unable to resize the frame");
	data.push("caju`scrolling`{auto | yes | no}`indicates whether the frame should have scollbars");
	data.push("cajv`src`[string]`address of the original frame contents");

	//HTMLIFrameElement : HTMLElement
	//contentDocument from HTMLFrameElement
	//frameBorder from HTMLFrameElement
	data.push("cajw`height`[string]`frame height");
	//longDesc from HTMLFrameElement
	//marginHeight from HTMLFrameElement
	//marginWidth from HTMLFrameElement
	//name from HTMLFrameElement
	//scolling from HTMLFrameElement
	//src from HTMLFrameElement
	data.push("cajx`width`[string]`frame width");

	for (i = 0; i < data.length; i++) ids.push(data[i].substr(0, 4));

	fillwindowdata();
}

function fillwindowdata() {
	/*****************
		IE6 = ie6
		IE7 = ie7
		Firefox 1.5 = ff1
		Firefox 2 = ff2
		Opera 8 = op8
		Opera 9 = op9
		Safari 1 = sf1
		Safari 2 = sf2
		Safari 3 = sf3
		KonquererX = knX
	*///**************

	win.push("addEventListener()`ff2^op9^sf3");
	win.push("addEventStream()`op9");
	win.push("alert()`ff2^ie7^op9^sf3");
	win.push("atob()`ff2^sf3");
	win.push("attachEvent [object]`ie7^op9");
	win.push("Audio()`op9");
	win.push("back()`ff2^op9");
	win.push("blur()`ff2^ie7^op9^sf3");
	win.push("btoa()`ff2^sf3");
	win.push("captureEvents()`ff2^op9^sf3");
	win.push("clearInterval()`ff2^ie7^op9^sf3");
	win.push("clearTimeout()`ff2^ie7^op9^sf3");
	win.push("clientInformation [object]`ie7^sf3");
	win.push("clipboardData [object]`ie7");
	win.push("close()`ff2^ie7^op9^sf3");
	win.push("closed [boolean]`ff2^ie7^op9^sf3");
	win.push("Components [object]`ff2");
	win.push("confirm()`ff2^ie7^op9^sf3");
	win.push("console [object]`sf3");
	win.push("content [object]`ff2");
	win.push("controllers [object]`ff2");
	win.push("createPopup [object]`ie7");
	win.push("crypto [object]`ff2^sf3");
	win.push("CSSPrimitiveValue()`ff2^op9^sf3");
	win.push("CSSRule()`ff2^op9^sf3");
	win.push("CSSStyleDeclaration()`ff2^op9^sf3");
	win.push("CSSValue()`ff2^sf3");
	win.push("defaultStatus [string]`ff2^ie7^op9^sf3");
	win.push("defaultstatus [string]`sf3");
	win.push("detachEvent [object]`ie7^op9");
	win.push("devicePixelRatio [number]`sf3");
	win.push("dialogArguments`");
	win.push("dilaogHeight`");
	win.push("dialogLeft`");
	win.push("dialogTop`");
	win.push("dialogWidth`");
	win.push("directories [object]`ff2");
	win.push("disableExternalCapture()`ff2^op9");
	win.push("dispatchEvent()`ff2^op9");
	win.push("document [object]`ff2^ie7^op9^sf3");
	win.push("DOMException()`ff2^op9^sf3");
	win.push("DOMParser()`ff2^op9^sf3");
	win.push("dump()`ff2");
	win.push("enableExternalCapture()`ff2^op9");
	win.push("EvalError()`ff2^ie7^op9^sf3");
	win.push("EvalParser`");
	win.push("Event()`ff2^op9^sf3");
	win.push("event [object]`ie7^op9^sf3");
	win.push("execScript [object]`ie7");
	win.push("external [object]`ff2^ie7");
	win.push("find()`ff2^sf3");
	win.push("focus()`ff2^ie7^op9^sf3");
	win.push("forward()`ff2^op9");
	win.push("frameElement [object]`ff2^ie7^op9^sf3");
	win.push("frames [object]`ff2^ie7^op9^sf3");
	win.push("fullScreen [boolean]`ff2");
	win.push("GeckoActiveXObject()`ff2");
	win.push("getComputedStyle()`ff2^op9^sf3");
	win.push("getInterface()`ff2");
	win.push("getMatchedCSSRules()`sf3");
	win.push("getSelection()`ff2^op9^sf3");
	win.push("globalStorage [object]`ff2");
	win.push("history [object]`ff2^ie7^op9^sf3");
	win.push("home()`ff2^op9");
	win.push("Image()`ff2^ie7^op9^sf3");
	win.push("innerHeight [number]`ff2^op9^sf3");
	win.push("innerWidth [number]`ff2^op9^sf3");
	win.push("java [object]`ff2^op9");
	win.push("konqueror`");
	win.push("length [number]`ff2^ie7^op9^sf3");
	win.push("location [object]`ff2^ie7^op9^sf3");
	win.push("location.assign()`ff2^ie7^op9^sf3");
	win.push("location.hash [string]`ff2^ie7^op9^sf3");
	win.push("location.host [string]`ff2^ie7^op9^sf3");
	win.push("location.hostname [string]`ff2^ie7^op9^sf3");
	win.push("location.href [string]`ff2^ie7^op9^sf3");
	win.push("location.pathname [string]`ff2^ie7^op9^sf3");
	win.push("location.port [string]`ff2^ie7^op9^sf3");
	win.push("location.protocol [string]`ff2^ie7^op9^sf3");
	win.push("location.reload()`ff2^ie7^op9^sf3");
	win.push("location.replace()`ff2^ie7^op9^sf3");
	win.push("location.search [string]`ff2^ie7^op9^sf3");
	win.push("locationbar [object]`ff2^sf3");
	win.push("members [object]`ff2^ie7^op9^sf3");
	win.push("menubar [object]`ff2^sf3");
	win.push("moveBy()`ff2^ie7^op9^sf3");
	win.push("moveTo()`ff2^ie7^op9^sf3");
	win.push("MutationEvent()`ff2^op9^sf3");
	win.push("name [string]`ff2^ie7^op9^sf3");
	win.push("navigate [object]`ie7^op9");
	win.push("navigator [object]`ff2^ie7^op9^sf3");
	win.push("navigator.appCodeName [string]`ff2^ie7^op9^sf3");
	win.push("navigator.appMinorVersion [string]`ie7^op9");
	win.push("navigator.appName [string]`ff2^ie7^op9^sf3");
	win.push("navigator.appVersion [string]`ff2^ie7^op9^sf3");
	win.push("navigator.browserLanguage [string]`ie7^op9");
	win.push("navigator.buildID [string]`ff2");
	win.push("navigator.cookieEnabled [boolean]`ff2^ie7^op9^sf3");
	win.push("navigator.cpuClass [string]`ie7");
	win.push("navigator.javaEnabled()`ff2^op9^sf3");
	win.push("navigator.language [string]`ff2^op9^sf3");
	win.push("navigator.mimeTypes [object]`ff2^ie7^op9^sf3");
	win.push("navigator.onLine [boolean]`ff2^ie7");
	win.push("navigator.opsProfile [object]`ie7");
	win.push("navigator.oscpu [string]`ff2");
	win.push("navigator.platform [string]`ff2^ie7^op9^sf3");
	win.push("navigator.plugins [object]`ff2^ie7^op9^sf3");
	win.push("navigator.preference()`ff2");
	win.push("navigator.product [string]`ff2^sf3");
	win.push("navigator.productSub [string]`ff2^sf3");
	win.push("navigator.registerContentHandler()`ff2");
	win.push("navigator.registerProtocolHandler()`ff2");
	win.push("navigator.securityPolicy [string]`ff2");
	win.push("navigator.systemLanguage [string]`ie7");
	win.push("navigator.taintEnabled()`ff2^op9");
	win.push("navigator.userAgent [string]`ff2^ie7^op9^sf3");
	win.push("navigator.userLanguage [string]`ie7^op9");
	win.push("navigator.userProfile [object]`ie7");
	win.push("navigator.vendor [string]`ff2^sf3");
	win.push("navigator.vendorSub [string]`ff2^sf3");
	win.push("netscape [object]`ff2^op9");
	win.push("Node()`ff2^op9^sf3");
	win.push("NodeFilter()`ff2^op9^sf3");
	win.push("offscreenBuffering [string]`ie7^sf3");
	win.push("onabort [object]`sf3");
	win.push("onactivate`");
	win.push("onafterprint [object]`ie7");
	win.push("onbeforedeactivate`");
	win.push("onbeforeprint [object]`ie7");
	win.push("onbeforeunload [object]`ie7^sf3");
	win.push("onblur [object]`ie7^sf3");
	win.push("onchange [object]`sf3");
	win.push("onclick [object]`sf3");
	win.push("onclose`");
	win.push("oncontrolselect`");
	win.push("ondblclick [object]`sf3");
	win.push("ondeactivate`");
	win.push("ondragdrop`");
	win.push("onerror [object]`ie7^sf3");
	win.push("onfocus [object]`ie7^sf3");
	win.push("onhelp [object]`ie7");
	win.push("onkeydown [object]`sf3");
	win.push("onkeypress [object]`sf3");
	win.push("onkeyup [object]`sf3");
	win.push("onload [object]`ff2^ie7^op9^sf3");
	win.push("onmousedown [object]`sf3");
	win.push("onmousemove [object]`sf3");
	win.push("onmouseout [object]`sf3");
	win.push("onmouseover [object]`sf3");
	win.push("onmouseup [object]`sf3");
	win.push("onmousewheel [object]`sf3");
	win.push("onmove`");
	win.push("onmoveend`");
	win.push("onmovestart`");
	win.push("onpaint`");
	win.push("onreset [object]`sf3");
	win.push("onresize [object]`ie7^sf3");
	win.push("onresizeend`");
	win.push("onscroll [object]`ie7^sf3");
	win.push("onsearch [object]`sf3");
	win.push("onselect [object]`sf3");
	win.push("onsubmit [object]`sf3");
	win.push("onunload [object]`ie7^op9^sf3");
	win.push("open()`ff2^ie7^op9^sf3");
	win.push("openDialog()`ff2");
	win.push("opener [object]`ff2^ie7^op9^sf3");
	win.push("opera [object]`op9");
	win.push("Option()`ff2^ie7^op9^sf3");
	win.push("outerHeight [number]`ff2^op9^sf3");
	win.push("outerWidth [number]`ff2^op9^sf3");
	win.push("Packages [object]`ff2^op9");
	win.push("pageXOffset [number]`ff2^op9^sf3");
	win.push("pageYOffset [number]`ff2^op9^sf3");
	win.push("parent [object]`ff2^ie7^op9^sf3");
	win.push("personalbar [object]`ff2^sf3");
	win.push("pkcs11 [object]`ff2");
	win.push("print()`ff2^ie7^op9^sf3");
	win.push("prompt()`ff2^ie7^op9^sf3");
	win.push("Range()`ff2^op9^sf3");
	win.push("RangeError()`ff2^ie7^op9^sf3");
	win.push("RangeException()`ff2^op9^sf3");
	win.push("ReferenceError()`ff2^ie7^op9^sf3");
	win.push("releaseEvents()`ff2^op9^sf3");
	win.push("removeEventListener()`ff2^op9^sf3");
	win.push("removeEventStream()`op9");
	win.push("resizeBy()`ff2^ie7^op9^sf3");
	win.push("resizeTo()`ff2^ie7^op9^sf3");
	win.push("returnValue`");
	win.push("routeEvent()`ff2");
	win.push("screen [object]`ff2^ie7^op9^sf3");
	win.push("screen.availHeight [number]`ff2^ie7^op9^sf3");
	win.push("screen.availLeft [number]`ff2^sf3");
	win.push("screen.availTop [number]`ff2^sf3");
	win.push("screen.availWidth [number]`ff2^ie7^op9^sf3");
	win.push("screen.bufferDepth [number]`ie7");
	win.push("screen.colorDepth [number]`ff2^ie7^op9^sf3");
	win.push("screen.deviceXDPI [number]`ie7");
	win.push("screen.deviceYDPI [number]`ie7");
	win.push("screen.fontSmoothingEnabled [boolean]`ie7");
	win.push("screen.height [number]`ff2^ie7^op9^sf3");
	win.push("screen.left [number]`ff2");
	win.push("screen.logicalXDPI [number]`ie7");
	win.push("screen.logicalYDPI [number]`ie7");
	win.push("screen.pixelDepth [number]`ff2^op9^sf3");
	win.push("screen.top [number]`ff2");
	win.push("screen.updateInterval [number]`ie7");
	win.push("screen.width [number]`ff2^ie7^op9^sf3");
	win.push("screenLeft [number]`ie7^op9^sf3");
	win.push("screenTop [number]`ie7^op9^sf3");
	win.push("screenX [number]`ff2^op9^sf3");
	win.push("screenY [number]`ff2^op9^sf3");
	win.push("scroll()`ff2^ie7^op9^sf3");
	win.push("scrollbars [object]`ff2^sf3");
	win.push("scrollBy()`ff2^ie7^op9^sf3");
	win.push("scrollByLines()`ff2");
	win.push("scrollByPages()`ff2");
	win.push("scrollMaxX [number]`ff2");
	win.push("scrollMaxY [number]`ff2");
	win.push("scrollTo()`ff2^ie7^op9^sf3");
	win.push("scrollX [number]`ff2^sf3");
	win.push("scrollY [number]`ff2^sf3");
	win.push("self [object]`ff2^ie7^op9^sf3");
	win.push("sessionStorage [object]`ff2");
	win.push("setActive`");
	win.push("setDocument()`op9");
	win.push("setInterval()`ff2^ie7^op9^sf3");
	win.push("setResizable()`ff2");
	win.push("setTimeout()`ff2^ie7^op9^sf3");
	win.push("showHelp [object]`ie7");
	win.push("showModalDialog [object]`ie7");
	win.push("showModelessDialog [object]`ie7");
	win.push("sizeToContent()`ff2");
	win.push("status [string]`ff2^ie7^op9^sf3");
	win.push("statusbar [object]`ff2^sf3");
	win.push("stop()`ff2^op9^sf3");
	win.push("sun [object]`ff2^op9");
	win.push("SVGAngle()`ff2^op9");
	win.push("SVGLength()`ff2^op9");
	win.push("SVGPaint()`op9");
	win.push("SVGPathSeg()`ff2^op9");
	win.push("SVGPreserveAspectRatio()`ff2^op9");
	win.push("SVGTransform()`ff2^op9");
	win.push("SVGUnitTypes()`op9");
	win.push("SVGZoomAndPan()`ff2^op9");
	win.push("SyntaxError()`ff2^ie7^op9^sf3");
	win.push("toolbar [object]`ff2^sf3");
	win.push("top [object]`ff2^ie7^op9^sf3");
	win.push("TypeError()`ff2^ie7^op9^sf3");
	win.push("updateCommands()`ff2");
	win.push("URIError()`ff2^ie7^op9^sf3");
	win.push("VXMLAudioRecording [object]`op9");
	win.push("window [object]`ff2^ie7^op9^sf3");
	win.push("XMLDocument()`ff2^sf3");
	win.push("XMLHttpRequest()`ff2^ie7^op9^sf3");
	win.push("XMLSerializer()`ff2^op9^sf3");
	win.push("XPathEvaluator()`ff2^sf3");
	win.push("XPathResult()`ff2^op9^sf3");
	win.push("XPCNativeWrapper()`ff2");
	win.push("XSLTProcessor()`ff2^op9^sf3");
}

function checkdata() {
	for (i = 0; i < ids.length; i++) {
		for (j = 0; j < ids.length; j++) {
			if (ids[i] == ids[j] && i != j) {
				alert("duplicate id found (" + ids[i] + ")");
				return;
			}
		}
	}
	alert("no duplicates found");
}

function expandwindowdata() {
	var d = document.getElementById("zdaa");
	var subd = document.getElementById("subzdaa");
	var img = document.getElementById("imgzdaa");

	if (d == null) alert("element for id=\"zdaa\" not found.");
	else if (img == null) alert("image element for id=\"imgzdaa\" not found.");
	else if (subd != null) {
		d.removeChild(subd);
		img.src = "images/plus.png";
	} else {
		subd = document.createElement("div");
		subd.id = "subzdaa";
		subd.className = "subitems";
		d.appendChild(subd);

		var a = document.createElement("a");
		a.href = "window.html";
		a.appendChild(document.createTextNode("click here for the information source for this table"));
		subd.appendChild(a);
		subd.appendChild(blankitem());

		var tbl = document.createElement("table");
		//tbl.border = "1px";
		tbl.cellSpacing = "0";
		tbl.cellPadding = "0";

		var fullcount = 4;
		for (i = 0; i < win.length; i++) {
			if (i % 50 == 0) addheaderrow(tbl);

			var row = tbl.insertRow(-1);
			var wininfoA = win[i].split("`");
			var wininfoB = wininfoA[1].split("^");
			addcell(row, wininfoA[0], "member" + (wininfoB.length == fullcount ? " full" : ""));
			//if (contains(wininfoB, "ie6")) addcell(row, "X", "supported" + (wininfoB.length == fullcount ? " full" : "")); else addcell(row, "", "unsupported");
			if (contains(wininfoB, "ie7")) addcell(row, "X", "supported" + (wininfoB.length == fullcount ? " full" : "")); else addcell(row, "", "unsupported");
			//if (contains(wininfoB, "ff1")) addcell(row, "X", "supported" + (wininfoB.length == fullcount ? " full" : "")); else addcell(row, "", "unsupported");
			if (contains(wininfoB, "ff2")) addcell(row, "X", "supported" + (wininfoB.length == fullcount ? " full" : "")); else addcell(row, "", "unsupported");
			//if (contains(wininfoB, "op8")) addcell(row, "X", "supported" + (wininfoB.length == fullcount ? " full" : "")); else addcell(row, "", "unsupported");
			if (contains(wininfoB, "op9")) addcell(row, "X", "supported" + (wininfoB.length == fullcount ? " full" : "")); else addcell(row, "", "unsupported");
			//if (contains(wininfoB, "sf1")) addcell(row, "X", "supported" + (wininfoB.length == fullcount ? " full" : "")); else addcell(row, "", "unsupported");
			//if (contains(wininfoB, "sf2")) addcell(row, "X", "supported" + (wininfoB.length == fullcount ? " full" : "")); else addcell(row, "", "unsupported");
			if (contains(wininfoB, "sf3")) addcell(row, "X", "supported" + (wininfoB.length == fullcount ? " full" : "")); else addcell(row, "", "unsupported");
			//if (contains(wininfoB, "kn3")) addcell(row, "X", "supported" + (wininfoB.length == fullcount ? " full" : "")); else addcell(row, "", "unsupported");
		}
		subd.appendChild(tbl);
		img.src = "images/minus.png";
	}
}

function contains(searcharray, searchtext) {
	for (j = 0; j < searcharray.length; j++) {
		if (searcharray[j].toLowerCase() == searchtext.toLowerCase()) return true;
	}
	return false;
}

function addheaderrow(tbl) {
	var row = tbl.insertRow(-1);
	addcell(row, "Member Name", "memberheader");
	//addcell(row, "Internet Explorer 6 (Trident)", "header");
	addcell(row, "Internet Explorer 7 (Trident)", "header");
	//addcell(row, "Firefox 1 (Gecko)", "header");
	addcell(row, "Firefox 2 (Gecko)", "header");
	//addcell(row, "Opera 8 (Presto)", "header");
	addcell(row, "Opera 9 (Presto)", "header");
	//addcell(row, "Safari 1 (WebCore)", "header");
	//addcell(row, "Safari 2 (WebCore)", "header");
	addcell(row, "Safari 3 (WebCore)", "header");
	//addcell(row, "Konqueror 3 (KHTML)", "header");
	return row;
}

function addcell(row, text, classname) {
	var cell = row.insertCell(-1);
	cell.appendChild(document.createTextNode((text.indexOf(".") >= 0 ? "\xA0\xA0\xA0" : "") + text));
	cell.className = classname;
	return cell;
}

function expandlist(id) {
	var d = document.getElementById(id);
	var subd = document.getElementById("sub" + id);
	var img = document.getElementById("img" + id);

	if (d == null) alert("element for id=\"" + id + "\" not found.");
	else if (img == null) alert("image element for id=\"img" + id + "\" not found.");
	else if (subd != null) {
		d.removeChild(subd);
		img.src = "images/plus.png";
	} else {
		//alert("starting expand");

		var props = new Array();
		var meths = new Array();
		var onprops = true;
		var useprops = false;
		var useatts = false;
		var useevents = false;
		var usemeths = false;

		for (i = 0; i < ids.length; i++) {
			if (ids[i] == id) {
				//alert("id found (" + id + ")");

				var items = data[i].split("`");
				var subitems = items[items.length - 1].split("^");

				if (subitems.length > 0) {
					//alert("has subitems (" + subitems.length + ")");

					subd = document.createElement("div");
					subd.id = "sub" + id;
					subd.className = "subitems";
					d.appendChild(subd);

					for (j = 0; j < subitems.length; j++) {
						if (subitems[j] == "zzzw") useatts = true;
						else if (subitems[j] == "zzzy") useprops = true;
						else if (subitems[j] == "zzzx" || subitems[j] == "zzzv") {
							if (subitems[j] == "zzzv") useevents = true;
							else usemeths = true;
							onprops = false;
						} else if (subitems[j] != "zzzz") {
							for (k = 0; k < ids.length; k++) {
								if (subitems[j] == ids[k]) {
									if (onprops) props.push(data[k].split("`"));
									else meths.push(data[k].split("`"));
									break;
								}
							}
							if (k == ids.length) alert("entry not found for id=\"" + subitems[j] + "\".");
						}
					}
					//alert("sorting subitems");
					props.sort(subitem_compare);
					meths.sort(subitem_compare);

					//alert("adding subitems");
					if (props.length > 0) {
						if (useprops) subd.appendChild(propertiesitem());
						else if (useatts) subd.appendChild(attributesitem());
						for (j = 0; j < props.length; j++) {
							subd.appendChild(createlistitem(props[j]));
						}
						if (meths.length > 0) subd.appendChild(blankitem());
					}
					if (meths.length > 0) {
						if (usemeths) subd.appendChild(methodsitem());
						else if (useevents) subd.appendChild(eventsitem());
						for (j = 0; j < meths.length; j++) {
							subd.appendChild(createlistitem(meths[j]));
						}
					}
					img.src = "images/minus.png";
				}
				break;
			} else if (i == ids.length - 1) alert("id entry not found for id=\"" + id + "\".");
		}
	}
}

function subitem_compare(x, y) {
	if (x[1].toLowerCase() < y[1].toLowerCase()) return -1;
	else return 1;
}

function eventsitem() {
	var d = document.createElement("div");
	d.className = "events";
	d.appendChild(createspan("Events", "events"));
	return d;
}

function attributesitem() {
	var d = document.createElement("div");
	d.className = "attributes";
	d.appendChild(createspan("Attributes", "attributes"));
	return d;
}

function propertiesitem() {
	var d = document.createElement("div");
	d.className = "properties";
	d.appendChild(createspan("Properties", "properties"));
	return d;
}

function methodsitem() {
	var d = document.createElement("div");
	d.className = "methods";
	d.appendChild(createspan("Methods", "methods"));
	return d;
}

function blankitem() {
	var d = document.createElement("div");
	d.className = "blank";
	//d.appendChild(createspan(" ", "blank"));
	d.appendChild(document.createElement("br"));
	return d;
}

function createlistitem(items) {
	var cnt = 0;
	var d = document.createElement("div");
	d.id = items[0];

	if (items[items.length - 1].indexOf("^") >= 0) {
		var name = items[1];
		if (name.substr(1, 1) == "_") name = name.substr(2);
		d.className = "listitem";
		d.appendChild(createimage(items[0]));
		d.appendChild(createspan(name, "listitem"));
		for (i = 2; i < items.length - 1; i++) {
			d.appendChild(createspan(items[i], "sublistitem"));
		}
	} else {
		d.className = "entry";
		d.appendChild(createspan(items[1], "itembegin"));
		for (i = 2; i < items.length - 1; i++) {
			d.appendChild(createspan(items[i], "itemmiddle"));
		}
		d.appendChild(createspan(items[items.length - 1], "itemend"));
	}
	return d;
}

function createimage(id) {
	var im = document.createElement("img");
	im.src = "images/plus.png";
	im.onmouseup = new Function("expandlist('" + id + "')");
	im.id = "img" + id;
	return im;
}

function createspan(text, classname) {
	var sp = document.createElement("span");
	sp.appendChild(document.createTextNode(text));
	sp.className = classname;
	return sp;
}
