forked from GNUsocial/gnu-social
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* is this stuff defined? */
 | |
| if (!document.ELEMENT_NODE) {
 | |
| 	document.ELEMENT_NODE = 1;
 | |
| 	document.ATTRIBUTE_NODE = 2;
 | |
| 	document.TEXT_NODE = 3;
 | |
| 	document.CDATA_SECTION_NODE = 4;
 | |
| 	document.ENTITY_REFERENCE_NODE = 5;
 | |
| 	document.ENTITY_NODE = 6;
 | |
| 	document.PROCESSING_INSTRUCTION_NODE = 7;
 | |
| 	document.COMMENT_NODE = 8;
 | |
| 	document.DOCUMENT_NODE = 9;
 | |
| 	document.DOCUMENT_TYPE_NODE = 10;
 | |
| 	document.DOCUMENT_FRAGMENT_NODE = 11;
 | |
| 	document.NOTATION_NODE = 12;
 | |
| }
 | |
| 
 | |
| document._importNode = function(node, allChildren) {
 | |
| 	/* find the node type to import */
 | |
| 	switch (node.nodeType) {
 | |
| 		case document.ELEMENT_NODE:
 | |
| 			/* create a new element */
 | |
| 			var newNode = document.createElement(node.nodeName);
 | |
| 			/* does the node have any attributes to add? */
 | |
| 			if (node.attributes && node.attributes.length > 0)
 | |
| 				/* add all of the attributes */
 | |
| 				for (var i = 0, il = node.attributes.length; i < il;) {
 | |
| 					if (node.attributes[i].nodeName == 'class') {
 | |
| 						newNode.className = node.getAttribute(node.attributes[i++].nodeName);
 | |
| 					} else {
 | |
| 						newNode.setAttribute(node.attributes[i].nodeName, node.getAttribute(node.attributes[i++].nodeName));
 | |
| 					}
 | |
| 				}
 | |
| 			/* are we going after children too, and does the node have any? */
 | |
| 			if (allChildren && node.childNodes && node.childNodes.length > 0)
 | |
| 				/* recursively get all of the child nodes */
 | |
| 				for (var i = 0, il = node.childNodes.length; i < il;)
 | |
| 					newNode.appendChild(document._importNode(node.childNodes[i++], allChildren));
 | |
| 			return newNode;
 | |
| 			break;
 | |
| 		case document.TEXT_NODE:
 | |
| 		case document.CDATA_SECTION_NODE:
 | |
| 		case document.COMMENT_NODE:
 | |
| 			return document.createTextNode(node.nodeValue);
 | |
| 			break;
 | |
| 	}
 | |
| };
 | |
| 
 |