
var colors = ["#555", "#f00", "#0f0", "#00f"];


function doChangeAttr(node1,node2,attr)	{
	
	var a = node1[attr];
	node1[attr]=node2[attr];
	node2[attr]=a;
}

function doRandomizeChildrenNodes(root)	{
	
	var childnodes = root.childNodes;
	var children = [];
	
	if (childnodes.length==0) return;
	
	for(var i = 0; i < childnodes.length; i++)
	{
  		if(childnodes[i].nodeType == 1) { 
			childnodes[i].style.margin="0";
			childnodes[i].style.padding="0";
			childnodes[i].style.display="inline";
						
			doRandomizeChildrenNodes(childnodes[i]);	 
		}
		children.push(childnodes[i]);
	}
	
	if (children.length>0)	{
		for (var i=0;i<10;i++)	{
			var i1 = Math.floor(Math.random()*children.length);
			var i2 = Math.floor(Math.random()*children.length);
			
			doChangeAttr(children[i1],children[i2],"id");
			doChangeAttr(children[i1],children[i2],"class");

			
			root.insertBefore(children[i1],children[i2]);
		}
	}	
}


function findNode(root)	{
	
	
	if (root.nodeType != 1)	{
		return root;
	}
	
	
	if (!root.hasChildNodes())	{ 
		return root; 
	}
	
	var childnodes = root.childNodes;
	
	var b = Math.floor(Math.random()*10);
	var i1 = Math.floor(Math.random()*childnodes.length);
		
	if (b<6) { 	
		return findNode(childnodes[i1]);
	} else	{
		return childnodes[i1];
	}

}

function doRandomizeNodes(root)	{
	
	
	for (var i=0;i<10;i++)	{
		console.log(i);
		var node1 = findNode(root);
		var node2 = findNode(root);
		doChangeAttr(node1,node2,"id");
		doChangeAttr(node1,node2,"class");
		
		if ((root==node1)||(root==node2))	{
			//root.parentNode.insertBefore(node1,node2);	
			console.log('fddfdfadafad');
		}	else	{
			root.insertBefore(node1,node2);	
		}
		
		
		console.log("node1: ",node1);
		console.log("node2: ",node2);
		console.log("root: ",root);
	}
	
	//root.removeChild(node1);	
	//root.removeChild(node2);
	
	
	
		
	
}

function doSlicing()	{
	
	//doRandomizeChildrenNodes(document.body)
	
	doRandomizeChildrenNodes(document.body);

}

YAHOO.util.Event.onDOMReady(doSlicing); 