<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Dojo Tree Widget Test (dynamic node creation)</title>

<script type="text/javascript">
	var djConfig = {isDebug: true, debugAtAllCosts: true };
</script>
<script type="text/javascript" src="../../../dojo.js"></script>
<script type="text/javascript">
	delete dojo["profile"];

	dojo.require("dojo.widget.*");
	dojo.require("dojo.widget.Tree");
	dojo.require("dojo.widget.TreeNode");
	dojo.require("dojo.widget.TreeBasicController");
	dojo.require("dojo.profile");
	dojo.hostenv.writeIncludes();
</script>
<script type="text/javascript">

	
	dojo.addOnLoad(function(){
		var depth = 0;
		
		function addChildren(title,nodeOrTree) {
			//dojo.debug("addChildren to "+nodeOrTree+" depth" + depth)
			depth++;
			
			for (var i=1; i<=5; i++) {
				var t = title+'.'+i
				dojo.profile.start("createWidget");
				var node = dojo.widget.createWidget("TreeNode", {title: t});
				dojo.profile.end("createWidget");

				nodeOrTree.addChild(node)
				
				if (depth<3) {
					addChildren(t, node);
				}
					
			}
			//dojo.debug("out "+nodeOrTree);
			
			depth--;
			
		}	

		dojo.profile.start("createTree");
		var tree = dojo.widget.createWidget("Tree");	
		dojo.profile.end("createTree");
				
		document.body.appendChild(tree.domNode);

	
		dojo.profile.start("createNodes");		
		addChildren('node', tree)		
		dojo.profile.end("createNodes");
		
		var nodeCount = 0;
		dojo.lang.forEach(tree.getDescendants(), function() { nodeCount++  });
		
		dojo.debug("Nodes total: "+nodeCount);
			
		dojo.profile.dump(true);
		
	});

</script>
</head>
<body>

<h4>Test/profile fast nested nodes generation and adoptation</h4>


</body>
</html>