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;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 |