/*
 *   data for validation
 */

/* ********* CSS1 ********* */
var CSS1_properties = new Array(
  'font-family', 'font-style', 'font-variant', 'font-weight', 'font-size', 'font',
  'color', 'background-color', 'background-image', 'background-repeat', 'background-attachment', 'background-position', 'background',
  'word-spacing', 'letter-spacing', 'text-decoration', 'vertical-align', 'text-transform', 'text-align', 'text-indent', 'line-height',
  'margin-top', 'margin-right', 'margin-bottom', 'margin-left', 'margin',
  'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'padding',
  'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'border-width', 'border-color', 'border-style', 'border-top', 'border-right', 'border-bottom', 'border-left', 'border',
  'width', 'height', 'float', 'clear',
  'display', 'white-space',
  'list-style-type', 'list-style-image', 'list-style-position', 'list-style'
);

var CSS1 = new Array();		// JavaScript variants of properties
for (var i=0; i<CSS1_properties.length; i++) {
  var tmp = CSS1_properties[i];
  if (tmp.indexOf('-') != -1) {
    var str = tmp.replace(/-(\w)/g, function (main, p1) { return p1.toUpperCase(); });
    CSS1[i] = str;
  } else {
    CSS1[i] = tmp;
  }
}

var CSS2_properties = new Array(
  'margin-top', 'margin-right', 'margin-bottom', 'margin-left', 'margin',
  'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'padding',
  'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'border-width',
  'border-top-color', 'border-right-color', 'border-bottom-color', 'border-left-color', 'border-color',
  'border-top-style', 'border-right-style', 'border-bottom-style', 'border-left-style', 'border-style',
  'border-top', 'border-right', 'border-bottom', 'border-left', 'border',
  'display', 'position', 'top', 'right', 'bottom', 'left', 'float', 'clear', 'z-index', 'direction', 'unicode-bidi',
  'width', 'min-width', 'max-width', 'height', 'min-height', 'max-height', 'line-height', 'vertical-align',
  'overflow', 'clip', 'visibility',
  'content', 'quotes', 'counter-reset', 'counter-increment', 'marker-offset', 'list-style-type', 'list-style-image', 'list-style-position', 'list-style',
  'size', 'marks', 'page-break-before', 'page-break-after', 'page-break-inside', 'page', 'orphans', 'widows',
  'color', 'background-color', 'background-image', 'background-repeat', 'background-attachment', 'background-position', 'background',
  'font-family', 'font-style', 'font-variant', 'font-weight', 'font-stretch', 'font-size', 'font-size-adjust', 'font',
  'text-indent', 'text-align', 'text-decoration', 'text-shadow', 'letter-spacing', 'word-spacing', 'text-transform', 'white-space',
  'caption-side', 'table-layout', 'border-collapse', 'border-spacing', 'empty-cells', 'speak-header',
  'cursor', 'outline-width', 'outline-style', 'outline-color', 'outline',
  'volume', 'speak', 'pause-before', 'pause-after', 'pause', 'cue-before', 'cue-after', 'cue', 'play-during', 'azimuth', 'elevation', 'speech-rate', 'voice-family', 'pitch', 'pitch-range', 'stress', 'richness', 'speak-punctuation', 'speak-numeral'
);

var CSS2 = new Array();		// JavaScript variants of properties
for (var i=0; i<CSS2_properties.length; i++) {
  var tmp = CSS2_properties[i];
  if (tmp.indexOf('-') != -1) {
    var str = tmp.replace(/-(\w)/g, function (main, p1) { return p1.toUpperCase(); });
    CSS2[i] = str;
  } else {
    CSS2[i] = tmp;
  }
}


/* ********* DOM1_core ********* */
/* self */
var DOM1_core_Node_properties = new Array('attributes', 'childNodes', 'firstChild', 'lastChild', 'nextSibling', 'nodeName', 'nodeType', 'nodeValue', 'ownerDocument', 'parentNode', 'previousSibling');
var DOM1_core_Node_methods = new Array('appendChild', 'cloneNode', 'hasChildNodes', 'insertBefore', 'removeChild', 'replaceChild');
var DOM1_core_Node = new Array();
DOM1_core_Node = DOM1_core_Node_properties.concat(DOM1_core_Node_methods);

var DOM1_core_DOMImplementation_properties = new Array();
var DOM1_core_DOMImplementation_methods = new Array('hasFeature');
var DOM1_core_DOMImplementation = new Array();
DOM1_core_DOMImplementation = DOM1_core_DOMImplementation_properties.concat(DOM1_core_DOMImplementation_methods);

var DOM1_core_NamedNodeMap_properties = new Array('length');
var DOM1_core_NamedNodeMap_methods = new Array('getNamedItem', 'item', 'removeNamedItem', 'setNamedItem');
var DOM1_core_NamedNodeMap = new Array();
DOM1_core_NamedNodeMap = DOM1_core_NamedNodeMap_properties.concat(DOM1_core_NamedNodeMap_methods);

var DOM1_core_NodeList_properties = new Array('length');
var DOM1_core_NodeList_methods = new Array('item');
var DOM1_core_NodeList = new Array();
DOM1_core_NodeList = DOM1_core_NodeList_properties.concat(DOM1_core_NodeList_methods);

/* inherits */
var DOM1_core_Document_properties = new Array('doctype', 'documentElement', 'implementation');
var DOM1_core_Document_methods = new Array('createAttribute', 'createCDATASection', 'createComment', 'createDocumentFragment', 'createElement', 'createEntityReference', 'createProcessingInstruction', 'createTextNode', 'getElementsByTagName');
var DOM1_core_Document = new Array();
DOM1_core_Document = DOM1_core_Node.concat(DOM1_core_Document_properties, DOM1_core_Document_methods);

var DOM1_core_DocumentType_properties = new Array('entities', 'name', 'notations');
var DOM1_core_DocumentType_methods = new Array();
var DOM1_core_DocumentType = new Array();
DOM1_core_DocumentType = DOM1_core_Node.concat(DOM1_core_DocumentType_properties, DOM1_core_DocumentType_methods);

var DOM1_core_Element_properties = new Array('tagName');
var DOM1_core_Element_methods = new Array('getAttribute', 'getAttributeNode', 'getElementsByTagName', 'normalize', 'removeAttribute', 'removeAttributeNode', 'setAttribute', 'setAttributeNode');
var DOM1_core_Element = new Array();
DOM1_core_Element = DOM1_core_Node.concat(DOM1_core_Element_properties, DOM1_core_Element_methods);

var DOM1_core_CharacterData_properties = new Array('data', 'length');
var DOM1_core_CharacterData_methods = new Array('appendData', 'deleteData', 'insertData', 'replaceData', 'substringData');
var DOM1_core_CharacterData = new Array();
DOM1_core_CharacterData = DOM1_core_Node.concat(DOM1_core_CharacterData_properties, DOM1_core_CharacterData_methods);

var DOM1_core_Text_properties = new Array();
var DOM1_core_Text_methods = new Array('splitText');
var DOM1_core_Text = new Array();
DOM1_core_Text = DOM1_core_CharacterData.concat(DOM1_core_Text_properties, DOM1_core_Text_methods);

var DOM1_core_Attr_properties = new Array('name', 'specified', 'value');
var DOM1_core_Attr_methods = new Array();
var DOM1_core_Attr = new Array();
DOM1_core_Attr = DOM1_core_Node.concat(DOM1_core_Attr_properties, DOM1_core_Attr_methods);

var DOM1_core_CDATASection_properties = new Array();
var DOM1_core_CDATASection_methods = new Array();
var DOM1_core_CDATASection = new Array();
DOM1_core_CDATASection = DOM1_core_Text.concat(DOM1_core_CDATASection_properties, DOM1_core_CDATASection_methods);

var DOM1_core_Comment_properties = new Array();
var DOM1_core_Comment_methods = new Array();
var DOM1_core_Comment = new Array();
DOM1_core_Comment = DOM1_core_CharacterData.concat(DOM1_core_Comment_properties, DOM1_core_Comment_methods);

var DOM1_core_DocumentFragment_properties = new Array();
var DOM1_core_DocumentFragment_methods = new Array();
var DOM1_core_DocumentFragment = new Array();
DOM1_core_DocumentFragment = DOM1_core_Node.concat(DOM1_core_DocumentFragment_properties, DOM1_core_DocumentFragment_methods);

var DOM1_core_Entity_properties = new Array('notationName', 'publicId', 'systemId');
var DOM1_core_Entity_methods = new Array();
var DOM1_core_Entity = new Array();
DOM1_core_Entity = DOM1_core_Node.concat(DOM1_core_Entity_properties, DOM1_core_Entity_methods);

var DOM1_core_EntityReference_properties = new Array();
var DOM1_core_EntityReference_methods = new Array();
var DOM1_core_EntityReference = new Array();
DOM1_core_EntityReference = DOM1_core_Node.concat(DOM1_core_EntityReference_properties, DOM1_core_EntityReference_methods);

var DOM1_core_Notation_properties = new Array('publicId', 'systemId');
var DOM1_core_Notation_methods = new Array();
var DOM1_core_Notation = new Array();
DOM1_core_Notation = DOM1_core_Node.concat(DOM1_core_Notation_properties, DOM1_core_Notation_methods);

var DOM1_core_ProcessingInstruction_properties = new Array('data', 'target');
var DOM1_core_ProcessingInstruction_methods = new Array();
var DOM1_core_ProcessingInstruction = new Array();
DOM1_core_ProcessingInstruction = DOM1_core_Node.concat(DOM1_core_ProcessingInstruction_properties, DOM1_core_ProcessingInstruction_methods);

/* final */
var DOM1_core = new Array();
DOM1_core[1] = DOM1_core_Element;
DOM1_core[2] = DOM1_core_Attr;
DOM1_core[3] = DOM1_core_Text;
DOM1_core[4] = DOM1_core_CDATASection;
DOM1_core[5] = DOM1_core_EntityReference;
DOM1_core[6] = DOM1_core_Entity;
DOM1_core[7] = DOM1_core_ProcessingInstruction;
DOM1_core[8] = DOM1_core_Comment;
DOM1_core[9] = DOM1_core_Document;
DOM1_core[10] = DOM1_core_DocumentType;
DOM1_core[11] = DOM1_core_DocumentFragment;
DOM1_core[12] = DOM1_core_Notation;




